33 lines
958 B
JavaScript
33 lines
958 B
JavaScript
/* global describe it expect */
|
|
import { mockArguments, slugWithId} from '../src/__mocks__/news-article';
|
|
import { createArticleSlug } from './news';
|
|
|
|
describe('news utils', () => {
|
|
describe('createArticleSlug', () => {
|
|
|
|
it('returns a string', () => {
|
|
expect(typeof createArticleSlug(mockArguments)).toEqual('string');
|
|
});
|
|
|
|
it('throws when values are missing', () => {
|
|
expect.assertions(3);
|
|
/* eslint-disable no-undefined */
|
|
expect(() =>
|
|
createArticleSlug({ ...mockArguments, shortId: undefined })
|
|
).toThrow();
|
|
expect(() =>
|
|
createArticleSlug({ ...mockArguments, slugPart: undefined })
|
|
).toThrow();
|
|
expect(() =>
|
|
createArticleSlug({ ...mockArguments, username: undefined })
|
|
).toThrow();
|
|
});
|
|
|
|
it('creates a slug in the expected format', () => {
|
|
const result = createArticleSlug(mockArguments);
|
|
|
|
expect(result).toEqual(slugWithId);
|
|
});
|
|
});
|
|
});
|