64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
import {
 | 
						|
  designDeletionError,
 | 
						|
  designUploadSkippedWarning,
 | 
						|
} from '~/design_management/utils/error_messages';
 | 
						|
 | 
						|
const mockFilenames = (n) =>
 | 
						|
  Array(n)
 | 
						|
    .fill(0)
 | 
						|
    .map((_, i) => ({ filename: `${i + 1}.jpg` }));
 | 
						|
 | 
						|
describe('Error message', () => {
 | 
						|
  describe('designDeletionError', () => {
 | 
						|
    const singularMsg = 'Failed to archive a design. Please try again.';
 | 
						|
    const pluralMsg = 'Failed to archive designs. Please try again.';
 | 
						|
 | 
						|
    it.each`
 | 
						|
      designsLength | expectedText
 | 
						|
      ${undefined}  | ${singularMsg}
 | 
						|
      ${0}          | ${pluralMsg}
 | 
						|
      ${1}          | ${singularMsg}
 | 
						|
      ${2}          | ${pluralMsg}
 | 
						|
    `(
 | 
						|
      'returns "$expectedText" when designsLength is $designsLength',
 | 
						|
      ({ designsLength, expectedText }) => {
 | 
						|
        expect(designDeletionError(designsLength)).toBe(expectedText);
 | 
						|
      },
 | 
						|
    );
 | 
						|
  });
 | 
						|
 | 
						|
  describe.each([
 | 
						|
    [[], [], null],
 | 
						|
    [mockFilenames(1), mockFilenames(1), 'Upload skipped. 1.jpg did not change.'],
 | 
						|
    [
 | 
						|
      mockFilenames(2),
 | 
						|
      mockFilenames(2),
 | 
						|
      'Upload skipped. The designs you tried uploading did not change.',
 | 
						|
    ],
 | 
						|
    [
 | 
						|
      mockFilenames(2),
 | 
						|
      mockFilenames(1),
 | 
						|
      'Upload skipped. Some of the designs you tried uploading did not change: 1.jpg.',
 | 
						|
    ],
 | 
						|
    [
 | 
						|
      mockFilenames(6),
 | 
						|
      mockFilenames(5),
 | 
						|
      'Upload skipped. Some of the designs you tried uploading did not change: 1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg.',
 | 
						|
    ],
 | 
						|
    [
 | 
						|
      mockFilenames(7),
 | 
						|
      mockFilenames(6),
 | 
						|
      'Upload skipped. Some of the designs you tried uploading did not change: 1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg and 1 more.',
 | 
						|
    ],
 | 
						|
    [
 | 
						|
      mockFilenames(8),
 | 
						|
      mockFilenames(7),
 | 
						|
      'Upload skipped. Some of the designs you tried uploading did not change: 1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg and 2 more.',
 | 
						|
    ],
 | 
						|
  ])('designUploadSkippedWarning', (uploadedFiles, skippedFiles, expected) => {
 | 
						|
    it('returns expected warning message', () => {
 | 
						|
      expect(designUploadSkippedWarning(uploadedFiles, skippedFiles)).toBe(expected);
 | 
						|
    });
 | 
						|
  });
 | 
						|
});
 |