printerModel.test.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import { describe, it, expect } from 'vitest';
  2. import { mapModelCode } from '../../utils/printerModel';
  3. describe('mapModelCode', () => {
  4. // A real P1P 3MF carries C11 next to "Bambu Lab P1P"; the X1 Carbon's code
  5. // is BL-P001. The C-codes used to be shifted onto the wrong printers, and a
  6. // discovered printer is saved under the mapped name.
  7. it.each([
  8. ['BL-P001', 'X1C'],
  9. ['BL-P002', 'X1'],
  10. ['C13', 'X1E'],
  11. ['C11', 'P1P'],
  12. ['C12', 'P1S'],
  13. ['N7', 'P2S'],
  14. ['N6', 'X2D'],
  15. ['O1D', 'H2D'],
  16. ['N10', 'H3C'],
  17. ['N2S', 'A1'],
  18. ['N1', 'A1 Mini'],
  19. ['A11', 'A1'],
  20. ['A12', 'A1 Mini'],
  21. ['A04', 'A1 Mini'],
  22. ])('maps %s to %s', (code, name) => {
  23. expect(mapModelCode(code)).toBe(name);
  24. });
  25. it('keeps display names and unknown values as they are', () => {
  26. expect(mapModelCode('P1S')).toBe('P1S');
  27. expect(mapModelCode('Future printer')).toBe('Future printer');
  28. });
  29. it('returns an empty string for a missing model', () => {
  30. expect(mapModelCode(null)).toBe('');
  31. expect(mapModelCode('')).toBe('');
  32. });
  33. });