@planning-inspectorate/data-model 2.48.1 → 2.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/docs/README.md +23 -1
  2. package/docs/address.md +366 -0
  3. package/docs/appeal-has.md +10 -7
  4. package/docs/applications-application-defs-address.md +108 -0
  5. package/docs/applications-application-defs-contact.md +98 -0
  6. package/docs/applications-application-defs-organisation.md +117 -0
  7. package/docs/applications-application-defs.md +3 -0
  8. package/docs/{application-update.md → applications-application-update.md} +22 -22
  9. package/docs/applications-application.md +2250 -0
  10. package/docs/applications-notify-email-defs-contact.md +93 -0
  11. package/docs/applications-notify-email-defs.md +3 -0
  12. package/docs/applications-notify-email.md +458 -0
  13. package/docs/applications-representation-definitions-contact.md +93 -0
  14. package/docs/applications-representation-definitions-representationdocument.md +152 -0
  15. package/docs/applications-representation-definitions.md +3 -0
  16. package/docs/applications-representation.md +834 -0
  17. package/package.json +1 -1
  18. package/pins_data_model/models/model_address.py +69 -0
  19. package/pins_data_model/models/model_appeal_has.py +3 -0
  20. package/pins_data_model/models/model_applications_application.py +518 -0
  21. package/pins_data_model/models/model_applications_application_update.py +55 -0
  22. package/pins_data_model/models/model_applications_notify_email.py +124 -0
  23. package/pins_data_model/models/model_applications_representation.py +207 -0
  24. package/schemas/address.schema.json +87 -0
  25. package/schemas/appeal-has.schema.json +2 -2
  26. package/schemas/{application-update.schema.json → applications-application-update.schema.json} +1 -1
  27. package/schemas/applications-application.schema.json +539 -0
  28. package/schemas/applications-notify-email.schema.json +118 -0
  29. package/schemas/applications-representation.schema.json +202 -0
  30. package/src/enums.cjs +147 -7
  31. package/src/enums.d.ts +131 -6
  32. package/src/enums.js +131 -6
  33. package/src/index.cjs +147 -7
  34. package/src/schemas.d.ts +679 -2
  35. package/tests/appeals/appeal-has.test.js +34 -0
@@ -329,4 +329,38 @@ describe(schema, () => {
329
329
  const validationResult = ajv.validate(schema, test);
330
330
  assert.strictEqual(validationResult, true);
331
331
  });
332
+
333
+ describe('caseProcedure schema validation (Group A - HAS)', () => {
334
+ it('should accept existing values: written, hearing, inquiry', () => {
335
+ for (const proc of ['written', 'hearing', 'inquiry']) {
336
+ const test = structuredClone(appealHas);
337
+ test.caseProcedure = proc;
338
+ const validationResult = ajv.validate(schema, test);
339
+ assert.strictEqual(validationResult, true, `Expected caseProcedure "${proc}" to be valid`);
340
+ }
341
+ });
342
+
343
+ it('should accept new expedited appeal values: writtenPart1, writtenPart2', () => {
344
+ for (const proc of ['writtenPart1', 'writtenPart2']) {
345
+ const test = structuredClone(appealHas);
346
+ test.caseProcedure = proc;
347
+ const validationResult = ajv.validate(schema, test);
348
+ assert.strictEqual(validationResult, true, `Expected caseProcedure "${proc}" to be valid`);
349
+ }
350
+ });
351
+
352
+ it('should accept null value for caseProcedure', () => {
353
+ const test = structuredClone(appealHas);
354
+ test.caseProcedure = null;
355
+ const validationResult = ajv.validate(schema, test);
356
+ assert.strictEqual(validationResult, true, 'Expected caseProcedure null to be valid');
357
+ });
358
+
359
+ it('should reject invalid caseProcedure values', () => {
360
+ const test = structuredClone(appealHas);
361
+ test.caseProcedure = 'invalidProcedure';
362
+ const validationResult = ajv.validate(schema, test);
363
+ assert.strictEqual(validationResult, false, 'Expected invalid caseProcedure value to fail validation');
364
+ });
365
+ });
332
366
  });