@@ -39,9 +40,9 @@ const ShortUrlVisitsHeader = ({ shortUrlDetail, shortUrlVisits, goBack }: ShortU
Created: {renderDate()}
- Long URL:{' '}
+ {`${title ? 'Title' : 'Long URL'}: `}
{loading && Loading...}
- {!loading && }
+ {!loading && {title ?? longLink}}
);
diff --git a/test/visits/ShortUrlVisitsHeader.test.tsx b/test/visits/ShortUrlVisitsHeader.test.tsx
index cd68cfd2..c2701eba 100644
--- a/test/visits/ShortUrlVisitsHeader.test.tsx
+++ b/test/visits/ShortUrlVisitsHeader.test.tsx
@@ -8,35 +8,48 @@ import { ShortUrlVisits } from '../../src/visits/reducers/shortUrlVisits';
describe('', () => {
let wrapper: ShallowWrapper;
- const shortUrlDetail = Mock.of({
- shortUrl: {
- shortUrl: 'https://doma.in/abc123',
- longUrl: 'https://foo.bar/bar/foo',
- dateCreated: '2018-01-01T10:00:00+01:00',
- },
- loading: false,
- });
+ const dateCreated = '2018-01-01T10:00:00+01:00';
+ const longUrl = 'https://foo.bar/bar/foo';
const shortUrlVisits = Mock.of({
visits: [{}, {}, {}],
});
const goBack = jest.fn();
+ const createWrapper = (title?: string | null) => {
+ const shortUrlDetail = Mock.of({
+ shortUrl: {
+ shortUrl: 'https://doma.in/abc123',
+ longUrl,
+ dateCreated,
+ title,
+ },
+ loading: false,
+ });
- beforeEach(() => {
wrapper = shallow(
,
);
- });
+
+ return wrapper;
+ };
+
+ beforeEach(() => createWrapper());
afterEach(() => wrapper.unmount());
it('shows when the URL was created', () => {
const moment = wrapper.find(Moment).first();
- expect(moment.prop('children')).toEqual(shortUrlDetail.shortUrl?.dateCreated);
+ expect(moment.prop('children')).toEqual(dateCreated);
});
- it('shows the long URL', () => {
+ it.each([
+ [ null, longUrl ],
+ [ undefined, longUrl ],
+ [ 'My cool title', 'My cool title' ],
+ ])('shows the long URL and title', (title, expectedContent) => {
+ const wrapper = createWrapper(title);
const longUrlLink = wrapper.find(ExternalLink).last();
- expect(longUrlLink.prop('href')).toEqual(shortUrlDetail.shortUrl?.longUrl);
+ expect(longUrlLink.prop('href')).toEqual(longUrl);
+ expect(longUrlLink.prop('children')).toEqual(expectedContent);
});
});