validate.spec.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Copyright (c) Jupyter Development Team.
  2. import 'jest';
  3. import {
  4. validateContentsModel,
  5. validateCheckpointModel
  6. } from '../../src/contents/validate';
  7. import { DEFAULT_FILE } from '../utils';
  8. describe('validate', () => {
  9. describe('validateContentsModel()', () => {
  10. it('should pass with valid data', () => {
  11. validateContentsModel(DEFAULT_FILE);
  12. });
  13. it('should fail on missing data', () => {
  14. const model = JSON.parse(JSON.stringify(DEFAULT_FILE));
  15. delete model['path'];
  16. expect(() => validateContentsModel(model)).toThrowError();
  17. });
  18. it('should fail on incorrect data', () => {
  19. const model = JSON.parse(JSON.stringify(DEFAULT_FILE));
  20. model.type = 1;
  21. expect(() => validateContentsModel(model)).toThrowError();
  22. });
  23. });
  24. describe('validateCheckpointModel()', () => {
  25. it('should pass with valid data', () => {
  26. validateCheckpointModel({ id: 'foo', last_modified: 'yesterday ' });
  27. });
  28. it('should fail on missing data', () => {
  29. const model = { id: 'foo' };
  30. expect(() => validateCheckpointModel(model as any)).toThrowError();
  31. });
  32. it('should fail on incorrect data', () => {
  33. const model = { id: 1, last_modified: '1' };
  34. expect(() => validateCheckpointModel(model as any)).toThrowError();
  35. });
  36. });
  37. });