@tomei/rental 0.17.9-test.3 → 0.18.0-test.1

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 (77) hide show
  1. package/dist/src/components/agreement/agreement.d.ts +6 -2
  2. package/dist/src/components/agreement/agreement.js +6 -2
  3. package/dist/src/components/agreement/agreement.js.map +1 -1
  4. package/dist/src/components/agreement/agreement.spec.js +3 -3
  5. package/dist/src/components/agreement-history/agreement-history.js.map +1 -1
  6. package/dist/src/components/agreement-history/agreement-history.spec.d.ts +1 -0
  7. package/dist/src/components/agreement-history/agreement-history.spec.js +71 -0
  8. package/dist/src/components/agreement-history/agreement-history.spec.js.map +1 -0
  9. package/dist/src/components/agreement-signature/agreement-signature.spec.d.ts +1 -0
  10. package/dist/src/components/agreement-signature/agreement-signature.spec.js +124 -0
  11. package/dist/src/components/agreement-signature/agreement-signature.spec.js.map +1 -0
  12. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.spec.d.ts +1 -0
  13. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.spec.js +114 -0
  14. package/dist/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.spec.js.map +1 -0
  15. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.spec.d.ts +1 -0
  16. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.spec.js +109 -0
  17. package/dist/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.spec.js.map +1 -0
  18. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.spec.d.ts +1 -0
  19. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.spec.js +125 -0
  20. package/dist/src/components/hirer-change-request-signature/hirer-change-request-signature.spec.js.map +1 -0
  21. package/dist/src/components/rental/rental.d.ts +10 -4
  22. package/dist/src/components/rental/rental.js +301 -73
  23. package/dist/src/components/rental/rental.js.map +1 -1
  24. package/dist/src/components/rental/rental.spec.js +34 -23
  25. package/dist/src/components/rental/rental.spec.js.map +1 -1
  26. package/dist/src/components/rental-price/rental-price.js +6 -1
  27. package/dist/src/components/rental-price/rental-price.js.map +1 -1
  28. package/dist/src/components/rental-price/rental-price.spec.js +3 -3
  29. package/dist/src/components/rental-price/rental-price.spec.js.map +1 -1
  30. package/dist/src/enum/{aggrement-status.enum.d.ts → agreement-status.enum.d.ts} +1 -1
  31. package/dist/src/enum/agreement-status.enum.js +11 -0
  32. package/dist/src/enum/agreement-status.enum.js.map +1 -0
  33. package/dist/src/enum/index.d.ts +2 -2
  34. package/dist/src/enum/index.js +3 -3
  35. package/dist/src/enum/rental-status.enum.d.ts +7 -3
  36. package/dist/src/enum/rental-status.enum.js +6 -2
  37. package/dist/src/enum/rental-status.enum.js.map +1 -1
  38. package/dist/src/interfaces/agreement-attr.interface.d.ts +6 -2
  39. package/dist/src/interfaces/rental-attr.interface.d.ts +6 -4
  40. package/dist/src/models/agreement.entity.d.ts +9 -3
  41. package/dist/src/models/agreement.entity.js +46 -4
  42. package/dist/src/models/agreement.entity.js.map +1 -1
  43. package/dist/src/models/joint-hirer.entity.d.ts +1 -0
  44. package/dist/src/models/joint-hirer.entity.js +8 -0
  45. package/dist/src/models/joint-hirer.entity.js.map +1 -1
  46. package/dist/src/models/rental.entity.d.ts +2 -7
  47. package/dist/src/models/rental.entity.js +14 -39
  48. package/dist/src/models/rental.entity.js.map +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/migrations/20260512140500-add-version-to-rental-and-joint-hirer.js +21 -0
  51. package/migrations/{rental-aggreement-history-migration.js → rental-agreement-history-migration.js} +1 -1
  52. package/migrations/rental-agreement-table-migration.js +59 -0
  53. package/migrations/rental-table-migrations.js +61 -90
  54. package/package.json +1 -1
  55. package/src/components/agreement/agreement.spec.ts +3 -3
  56. package/src/components/agreement/agreement.ts +11 -3
  57. package/src/components/agreement-history/agreement-history.spec.ts +68 -0
  58. package/src/components/agreement-history/agreement-history.ts +0 -1
  59. package/src/components/agreement-signature/agreement-signature.spec.ts +135 -0
  60. package/src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.spec.ts +119 -0
  61. package/src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.spec.ts +117 -0
  62. package/src/components/hirer-change-request-signature/hirer-change-request-signature.spec.ts +135 -0
  63. package/src/components/rental/rental.spec.ts +55 -33
  64. package/src/components/rental/rental.ts +405 -97
  65. package/src/components/rental-price/rental-price.spec.ts +3 -3
  66. package/src/components/rental-price/rental-price.ts +5 -4
  67. package/src/enum/{aggrement-status.enum.ts → agreement-status.enum.ts} +6 -6
  68. package/src/enum/index.ts +2 -2
  69. package/src/enum/rental-status.enum.ts +30 -10
  70. package/src/interfaces/agreement-attr.interface.ts +6 -2
  71. package/src/interfaces/rental-attr.interface.ts +8 -4
  72. package/src/models/agreement.entity.ts +50 -5
  73. package/src/models/joint-hirer.entity.ts +7 -0
  74. package/src/models/rental.entity.ts +12 -33
  75. package/dist/src/enum/aggrement-status.enum.js +0 -11
  76. package/dist/src/enum/aggrement-status.enum.js.map +0 -1
  77. package/migrations/rental-aggrement-table-migration.js +0 -30
@@ -1,5 +1,5 @@
1
1
  import { ObjectBase } from '@tomei/general';
2
- import { AggrementStatusEnum } from '../../enum/aggrement-status.enum';
2
+ import { AgreementStatusEnum } from '../../enum/agreement-status.enum';
3
3
  import { IAgreementAttr } from '../../interfaces/agreement-attr.interface';
4
4
  import { LoginUser } from '@tomei/sso';
5
5
  import { AgreementSignatureRepository } from '../agreement-signature/agreement-signature.repository';
@@ -11,9 +11,13 @@ export declare class Agreement extends ObjectBase {
11
11
  ObjectName: string;
12
12
  ObjectType: string;
13
13
  TableName: string;
14
- Status: AggrementStatusEnum;
14
+ RentalId: string;
15
+ PriceId: string;
16
+ Status: AgreementStatusEnum;
15
17
  DateSigned: Date;
16
18
  MediaId: string;
19
+ StartDateTime: Date;
20
+ EndDateTime: Date;
17
21
  private static _Repo;
18
22
  protected static _AgreementSignatureRepo: AgreementSignatureRepository;
19
23
  protected static _AgreementHistoryRepo: AgreementHistoryRepository;
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Agreement = void 0;
13
13
  const general_1 = require("@tomei/general");
14
- const aggrement_status_enum_1 = require("../../enum/aggrement-status.enum");
14
+ const agreement_status_enum_1 = require("../../enum/agreement-status.enum");
15
15
  const agreement_repository_1 = require("./agreement.repository");
16
16
  const config_1 = require("@tomei/config");
17
17
  const agreement_signature_repository_1 = require("../agreement-signature/agreement-signature.repository");
@@ -32,9 +32,13 @@ class Agreement extends general_1.ObjectBase {
32
32
  this.TableName = 'rental_Agreement';
33
33
  if (agreementAttr) {
34
34
  this.ObjectId = agreementAttr.AgreementNo;
35
+ this.PriceId = agreementAttr.PriceId;
36
+ this.RentalId = agreementAttr.RentalId;
35
37
  this.Status = agreementAttr.Status;
36
38
  this.DateSigned = agreementAttr.DateSigned;
37
39
  this.MediaId = agreementAttr.MediaId;
40
+ this.StartDateTime = agreementAttr.StartDateTime;
41
+ this.EndDateTime = agreementAttr.EndDateTime;
38
42
  }
39
43
  }
40
44
  static init(agreementNo, dbTransaction) {
@@ -105,7 +109,7 @@ class Agreement extends general_1.ObjectBase {
105
109
  });
106
110
  }
107
111
  expire() {
108
- this.Status = aggrement_status_enum_1.AggrementStatusEnum.EXPIRED;
112
+ this.Status = agreement_status_enum_1.AgreementStatusEnum.EXPIRED;
109
113
  }
110
114
  createActivity(activityCompleted, MediaId, dbTransaction, loginUser) {
111
115
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"agreement.js","sourceRoot":"","sources":["../../../../src/components/agreement/agreement.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAwD;AACxD,4EAAuE;AAEvE,iEAA6D;AAC7D,0CAAkD;AAElD,0GAAqG;AACrG,2CAA2C;AAC3C,yCAA8C;AAE9C,oGAA+F;AAE/F,8DAA+D;AAE/D,MAAa,SAAU,SAAQ,oBAAU;IAavC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,WAAW,CAAC,KAAa;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,YAAsB,aAA8B;QAClD,KAAK,EAAE,CAAC;QAnBV,eAAU,GAAW,WAAW,CAAC;QACjC,cAAS,GAAG,kBAAkB,CAAC;QAmB7B,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;YAC3C,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,MAAM,CAAO,IAAI,CACtB,WAAoB,EACpB,aAAmB;;YAEnB,IAAI,CAAC;gBACH,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;oBACxE,OAAO,IAAI,SAAS,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxD,CAAC;gBACD,OAAO,IAAI,SAAS,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAEM,MAAM,CAAO,gBAAgB,CAClC,SAAoB,EACpB,WAAmB,EACnB,aAAkB;;YAElB,IAAI,CAAC;gBAKH,MAAM,UAAU,GACd,0BAAiB,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAC5C,UAAU,EACV,0BAA0B,CAC3B,CAAC;gBAEF,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,IAAI,oBAAU,CAClB,WAAW,EACX,mBAAmB,EACnB,uDAAuD,CACxD,CAAC;gBACJ,CAAC;gBAID,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,oBAAU,CAClB,aAAa,EACb,qBAAqB,EACrB,wBAAwB,CACzB,CAAC;gBACJ,CAAC;gBAGD,MAAM,KAAK,GAAG;;;;;;oCAMgB,WAAW;;;OAGxC,CAAC;gBAEF,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAEpC,MAAM,UAAU,GAAkC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;oBACtE,IAAI,EAAE,sBAAU,CAAC,MAAM;oBACvB,WAAW,EAAE,aAAa;iBAC3B,CAAC,CAAC;gBAEH,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAEK,gBAAgB,CACpB,SAAoB,EACpB,aAAmB;;YAEnB,IAAI,CAAC;gBACH,MAAM,UAAU,GACd,0BAAiB,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAC5C,UAAU,EACV,uBAAuB,CACxB,CAAC;gBAEF,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,IAAI,oBAAU,CAClB,WAAW,EACX,mBAAmB,EACnB,oDAAoD,CACrD,CAAC;gBACJ,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC;oBAC/D,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE;oBACrC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBAC9B,WAAW,EAAE,aAAa;iBAC3B,CAAC,CAAC;gBACH,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAEM,MAAM;QACX,IAAI,CAAC,MAAM,GAAG,2CAAmB,CAAC,OAAO,CAAC;IAC5C,CAAC;IAEK,cAAc,CAClB,iBAAyB,EACzB,OAAe,EACf,aAAkB,EAClB,SAAoB;;YAEpB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAC3D;oBACE,WAAW,EAAE,IAAI,CAAC,QAAQ;oBAC1B,OAAO,EAAE,OAAO;oBAChB,iBAAiB,EAAE,iBAAiB;oBACpC,SAAS,EAAE,IAAI,IAAI,EAAE;iBACtB,EACD;oBACE,WAAW,EAAE,aAAa;iBAC3B,CACF,CAAC;gBAEF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,MAAM,eAAe,GAAG,IAAI,2BAAQ,EAAE,CAAC;gBACvC,eAAe,CAAC,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC;gBACxD,eAAe,CAAC,MAAM,GAAG,6BAAU,CAAC,MAAM,CAAC;gBAC3C,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC;gBAChD,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACzD,eAAe,CAAC,UAAU,GAAG,wBAAwB,CAAC;gBACtD,eAAe,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACvD,eAAe,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBACpE,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAEhE,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;;AA/KH,8BAgLC;AAvKgB,eAAK,GAAG,IAAI,0CAAmB,EAAE,AAA5B,CAA6B;AAChC,iCAAuB,GAAG,IAAI,6DAA4B,EAAE,AAArC,CAAsC;AAC7D,+BAAqB,GAAG,IAAI,yDAA0B,EAAE,AAAnC,CAAoC"}
1
+ {"version":3,"file":"agreement.js","sourceRoot":"","sources":["../../../../src/components/agreement/agreement.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const agreement_1 = require("./agreement");
13
- const aggrement_status_enum_1 = require("../../enum/aggrement-status.enum");
13
+ const agreement_status_enum_1 = require("../../enum/agreement-status.enum");
14
14
  jest.mock('@tomei/general', () => {
15
15
  class ClassError extends Error {
16
16
  constructor(className, code, message) {
@@ -51,7 +51,7 @@ const mockLoginUser = {
51
51
  };
52
52
  const baseAgreementAttr = {
53
53
  AgreementNo: 'AGR-001',
54
- Status: aggrement_status_enum_1.AggrementStatusEnum.GENERATED,
54
+ Status: agreement_status_enum_1.AgreementStatusEnum.GENERATED,
55
55
  DateSigned: null,
56
56
  MediaId: 'media-001',
57
57
  };
@@ -85,7 +85,7 @@ describe('Agreement', () => {
85
85
  mockRepo.findByPk.mockResolvedValue({ get: () => baseAgreementAttr });
86
86
  const agreement = yield agreement_1.Agreement.init('AGR-001');
87
87
  expect(agreement.AgreementNo).toBe('AGR-001');
88
- expect(agreement.Status).toBe(aggrement_status_enum_1.AggrementStatusEnum.GENERATED);
88
+ expect(agreement.Status).toBe(agreement_status_enum_1.AgreementStatusEnum.GENERATED);
89
89
  }));
90
90
  });
91
91
  describe('getSignatureList()', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"agreement-history.js","sourceRoot":"","sources":["../../../../src/components/agreement-history/agreement-history.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA4C;AAC5C,iFAA4E;AAI5E,MAAa,gBACX,SAAQ,oBAAU;IAclB,IAAI,SAAS;QACX,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,SAAS,CAAC,KAAa;QACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,YAAsB,aAAqC;QACzD,KAAK,EAAE,CAAC;QAlBV,eAAU,GAAW,kBAAkB,CAAC;QACxC,cAAS,GAAG,yBAAyB,CAAC;QAkBpC,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;YACzC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;YAC7C,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC;YACzD,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;QAC3C,CAAC;IACH,CAAC;IAEM,MAAM,CAAO,IAAI,CACtB,SAAiB,EACjB,aAAmB;;YAEnB,IAAI,CAAC;gBACH,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAClC,SAAS,CAAC,QAAQ,EAAE,EACpB,aAAa,CACd,CAAC;oBACF,OAAO,IAAI,gBAAgB,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxD,CAAC;gBACD,OAAO,IAAI,gBAAgB,EAAE,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;;AAlDH,4CAmDC;AAtCgB,sBAAK,GAAG,IAAI,yDAA0B,EAAE,AAAnC,CAAoC"}
1
+ {"version":3,"file":"agreement-history.js","sourceRoot":"","sources":["../../../../src/components/agreement-history/agreement-history.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA4C;AAC5C,iFAA4E;AAG5E,MAAa,gBACX,SAAQ,oBAAU;IAclB,IAAI,SAAS;QACX,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,SAAS,CAAC,KAAa;QACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,YAAsB,aAAqC;QACzD,KAAK,EAAE,CAAC;QAlBV,eAAU,GAAW,kBAAkB,CAAC;QACxC,cAAS,GAAG,yBAAyB,CAAC;QAkBpC,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;YACzC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;YAC7C,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC;YACzD,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;QAC3C,CAAC;IACH,CAAC;IAEM,MAAM,CAAO,IAAI,CACtB,SAAiB,EACjB,aAAmB;;YAEnB,IAAI,CAAC;gBACH,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAClC,SAAS,CAAC,QAAQ,EAAE,EACpB,aAAa,CACd,CAAC;oBACF,OAAO,IAAI,gBAAgB,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxD,CAAC;gBACD,OAAO,IAAI,gBAAgB,EAAE,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;;AAlDH,4CAmDC;AAtCgB,sBAAK,GAAG,IAAI,yDAA0B,EAAE,AAAnC,CAAoC"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const agreement_history_1 = require("./agreement-history");
13
+ jest.mock('@tomei/general', () => {
14
+ class ObjectBase {
15
+ createId() {
16
+ return 'mock-uuid';
17
+ }
18
+ _createId() {
19
+ return 'mock-uuid';
20
+ }
21
+ }
22
+ class RepositoryBase {
23
+ }
24
+ class ClassError extends Error {
25
+ constructor(className, code, message) {
26
+ super(message);
27
+ this.className = className;
28
+ this.code = code;
29
+ this.name = 'ClassError';
30
+ }
31
+ }
32
+ return { ObjectBase, RepositoryBase, ClassError };
33
+ });
34
+ const baseHistoryAttr = {
35
+ HistoryId: 100,
36
+ AgreementNo: 'AGR-001',
37
+ ActivityCompleted: 'Agreement Generated',
38
+ MediaId: 'media-111',
39
+ CreatedAt: new Date(),
40
+ };
41
+ const makeRepo = () => ({
42
+ findByPk: jest.fn(),
43
+ });
44
+ describe('AgreementHistory', () => {
45
+ let mockRepo;
46
+ beforeEach(() => {
47
+ jest.clearAllMocks();
48
+ mockRepo = makeRepo();
49
+ agreement_history_1.AgreementHistory._Repo = mockRepo;
50
+ });
51
+ describe('init()', () => {
52
+ it('returns empty AgreementHistory when no historyId provided', () => __awaiter(void 0, void 0, void 0, function* () {
53
+ const history = yield agreement_history_1.AgreementHistory.init(undefined);
54
+ expect(history).toBeInstanceOf(agreement_history_1.AgreementHistory);
55
+ expect(history.HistoryId).toBeNaN();
56
+ }));
57
+ it('returns populated AgreementHistory when historyId exists', () => __awaiter(void 0, void 0, void 0, function* () {
58
+ mockRepo.findByPk.mockResolvedValue({ get: () => baseHistoryAttr });
59
+ const history = yield agreement_history_1.AgreementHistory.init(100);
60
+ expect(history.HistoryId).toBe(100);
61
+ expect(history.AgreementNo).toBe('AGR-001');
62
+ expect(history.ActivityCompleted).toBe('Agreement Generated');
63
+ expect(history.MediaId).toBe('media-111');
64
+ }));
65
+ it('throws when findByPk throws error', () => __awaiter(void 0, void 0, void 0, function* () {
66
+ mockRepo.findByPk.mockRejectedValue(new Error('DB Error'));
67
+ yield expect(agreement_history_1.AgreementHistory.init(100)).rejects.toThrow('DB Error');
68
+ }));
69
+ });
70
+ });
71
+ //# sourceMappingURL=agreement-history.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agreement-history.spec.js","sourceRoot":"","sources":["../../../../src/components/agreement-history/agreement-history.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2DAAuD;AAEvD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC/B,MAAM,UAAU;QACd,QAAQ;YACN,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,SAAS;YACP,OAAO,WAAW,CAAC;QACrB,CAAC;KACF;IACD,MAAM,cAAc;KAAG;IACvB,MAAM,UAAW,SAAQ,KAAK;QAC5B,YACS,SAAiB,EACjB,IAAY,EACnB,OAAe;YAEf,KAAK,CAAC,OAAO,CAAC,CAAC;YAJR,cAAS,GAAT,SAAS,CAAQ;YACjB,SAAI,GAAJ,IAAI,CAAQ;YAInB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QAC3B,CAAC;KACF;IACD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG;IACtB,SAAS,EAAE,GAAG;IACd,WAAW,EAAE,SAAS;IACtB,iBAAiB,EAAE,qBAAqB;IACxC,OAAO,EAAE,WAAW;IACpB,SAAS,EAAE,IAAI,IAAI,EAAE;CACtB,CAAC;AAEF,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;IACtB,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;CACpB,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,QAAqC,CAAC;IAE1C,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,QAAQ,GAAG,QAAQ,EAAE,CAAC;QACrB,oCAAwB,CAAC,KAAK,GAAG,QAAQ,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,2DAA2D,EAAE,GAAS,EAAE;YACzE,MAAM,OAAO,GAAG,MAAM,oCAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvD,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,oCAAgB,CAAC,CAAC;YACjD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAS,EAAE;YACxE,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,MAAM,oCAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC9D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAS,EAAE;YACjD,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAC3D,MAAM,MAAM,CAAC,oCAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvE,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const agreement_signature_1 = require("./agreement-signature");
13
+ const agreement_signature_status_enum_1 = require("../../enum/agreement-signature-status.enum");
14
+ const agreement_signature_verification_method_enum_1 = require("../../enum/agreement-signature-verification-method.enum");
15
+ jest.mock('@tomei/general', () => {
16
+ class ObjectBase {
17
+ createId() {
18
+ return 'mock-uuid';
19
+ }
20
+ _createId() {
21
+ return 'mock-uuid';
22
+ }
23
+ }
24
+ class RepositoryBase {
25
+ }
26
+ class ClassError extends Error {
27
+ constructor(className, code, message) {
28
+ super(message);
29
+ this.className = className;
30
+ this.code = code;
31
+ this.name = 'ClassError';
32
+ }
33
+ }
34
+ return { ObjectBase, RepositoryBase, ClassError };
35
+ });
36
+ jest.mock('@tomei/config', () => ({
37
+ ApplicationConfig: {
38
+ getComponentConfigValue: jest.fn().mockReturnValue('SDB'),
39
+ },
40
+ }));
41
+ jest.mock('@tomei/activity-history', () => ({
42
+ Activity: jest.fn().mockImplementation(() => ({
43
+ createId: jest.fn().mockReturnValue('activity-uuid'),
44
+ create: jest.fn().mockResolvedValue(undefined),
45
+ })),
46
+ ActionEnum: { CREATE: 'Create', UPDATE: 'Update' },
47
+ }));
48
+ const mockLoginUser = {
49
+ ObjectId: 'user-001',
50
+ checkPrivileges: jest.fn().mockResolvedValue(true),
51
+ };
52
+ const baseSignatureAttr = {
53
+ SignatureId: 'sig-001',
54
+ AgreementNo: 'AGR-001',
55
+ Party: 'Primary',
56
+ PartyId: 'customer-001',
57
+ PartyType: 'Customer',
58
+ SignatureStatus: agreement_signature_status_enum_1.AgreementSignatureStatusEnum.PENDING,
59
+ SignedAt: null,
60
+ VerificationMethod: agreement_signature_verification_method_enum_1.AgreementSignatureVerificationMethodEnum.PHYSICAL_ID,
61
+ VerificationJustification: 'Justified',
62
+ VerifiedById: 'user-001',
63
+ CreatedById: 'user-001',
64
+ CreatedAt: new Date(),
65
+ UpdatedById: 'user-001',
66
+ UpdatedAt: new Date(),
67
+ };
68
+ const makeRepo = () => ({
69
+ findByPk: jest.fn(),
70
+ create: jest.fn().mockResolvedValue(undefined),
71
+ });
72
+ describe('AgreementSignature', () => {
73
+ let mockRepo;
74
+ beforeEach(() => {
75
+ jest.clearAllMocks();
76
+ mockRepo = makeRepo();
77
+ agreement_signature_1.AgreementSignature._Repository = mockRepo;
78
+ mockLoginUser.checkPrivileges = jest.fn().mockResolvedValue(true);
79
+ });
80
+ describe('init()', () => {
81
+ it('returns empty AgreementSignature when no signatureId provided', () => __awaiter(void 0, void 0, void 0, function* () {
82
+ const sig = yield agreement_signature_1.AgreementSignature.init();
83
+ expect(sig).toBeInstanceOf(agreement_signature_1.AgreementSignature);
84
+ expect(sig.SignatureId).toBeUndefined();
85
+ }));
86
+ it('returns populated AgreementSignature when signatureId exists', () => __awaiter(void 0, void 0, void 0, function* () {
87
+ mockRepo.findByPk.mockResolvedValue({ get: () => baseSignatureAttr });
88
+ const sig = yield agreement_signature_1.AgreementSignature.init('sig-001');
89
+ expect(sig.SignatureId).toBe('sig-001');
90
+ expect(sig.AgreementNo).toBe('AGR-001');
91
+ expect(sig.PartyId).toBe('customer-001');
92
+ }));
93
+ it('throws ClassError when signatureId not found', () => __awaiter(void 0, void 0, void 0, function* () {
94
+ mockRepo.findByPk.mockResolvedValue(null);
95
+ yield expect(agreement_signature_1.AgreementSignature.init('non-existent')).rejects.toThrow('AgreementSignature not found');
96
+ }));
97
+ });
98
+ describe('create()', () => {
99
+ let sig;
100
+ beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
101
+ sig = yield agreement_signature_1.AgreementSignature.init();
102
+ sig.AgreementNo = 'AGR-001';
103
+ sig.PartyId = 'customer-001';
104
+ sig.PartyType = 'Customer';
105
+ sig.Party = 'Primary';
106
+ sig.SignatureStatus = agreement_signature_status_enum_1.AgreementSignatureStatusEnum.PENDING;
107
+ }));
108
+ it('throws when user lacks AgreementSignature - Create privilege', () => __awaiter(void 0, void 0, void 0, function* () {
109
+ mockLoginUser.checkPrivileges = jest.fn().mockResolvedValue(false);
110
+ yield expect(sig.create(mockLoginUser)).rejects.toThrow("You do not have 'AgreementSignature - Create' privilege.");
111
+ }));
112
+ it('throws when required fields are missing', () => __awaiter(void 0, void 0, void 0, function* () {
113
+ sig.AgreementNo = undefined;
114
+ yield expect(sig.create(mockLoginUser)).rejects.toThrow('AgreementNo, PartyId and PartyType are required.');
115
+ }));
116
+ it('successfully creates record and registers activity', () => __awaiter(void 0, void 0, void 0, function* () {
117
+ const result = yield sig.create(mockLoginUser, null);
118
+ expect(mockRepo.create).toHaveBeenCalled();
119
+ expect(result.SignatureId).toBe('mock-uuid');
120
+ expect(result).toBeInstanceOf(agreement_signature_1.AgreementSignature);
121
+ }));
122
+ });
123
+ });
124
+ //# sourceMappingURL=agreement-signature.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agreement-signature.spec.js","sourceRoot":"","sources":["../../../../src/components/agreement-signature/agreement-signature.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const hirer_change_request_new_hirer_1 = require("./hirer-change-request-new-hirer");
13
+ jest.mock('@tomei/general', () => {
14
+ class ObjectBase {
15
+ createId() {
16
+ return 'mock-uuid';
17
+ }
18
+ _createId() {
19
+ return 'mock-uuid';
20
+ }
21
+ }
22
+ class RepositoryBase {
23
+ }
24
+ class ClassError extends Error {
25
+ constructor(className, code, message) {
26
+ super(message);
27
+ this.className = className;
28
+ this.code = code;
29
+ this.name = 'ClassError';
30
+ }
31
+ }
32
+ return { ObjectBase, RepositoryBase, ClassError };
33
+ });
34
+ jest.mock('@tomei/activity-history', () => ({
35
+ Activity: jest.fn().mockImplementation(() => ({
36
+ createId: jest.fn().mockReturnValue('activity-uuid'),
37
+ _createId: jest.fn().mockReturnValue('activity-uuid'),
38
+ create: jest.fn().mockResolvedValue(undefined),
39
+ })),
40
+ ActionEnum: { CREATE: 'Create', UPDATE: 'Update' },
41
+ }));
42
+ const mockLoginUser = {
43
+ ObjectId: 'user-001',
44
+ };
45
+ const baseNewHirerAttr = {
46
+ NewHirerId: 'nh-001',
47
+ RequestId: 'req-001',
48
+ FullName: 'Jane Doe',
49
+ Email: 'jane@example.com',
50
+ IdType: 'NRIC',
51
+ IdNo: '900101-01-9999',
52
+ ContactNo: '0123456789',
53
+ Relationship: 'Spouse',
54
+ Address: '123 Main St',
55
+ City: 'KL',
56
+ State: 'WP',
57
+ Postcode: '50000',
58
+ Country: 'Malaysia',
59
+ };
60
+ const makeRepo = () => ({
61
+ findByPk: jest.fn(),
62
+ findAll: jest.fn(),
63
+ create: jest.fn().mockResolvedValue(undefined),
64
+ });
65
+ describe('HirerChangeRequestNewHirer', () => {
66
+ let mockRepo;
67
+ beforeEach(() => {
68
+ jest.clearAllMocks();
69
+ mockRepo = makeRepo();
70
+ hirer_change_request_new_hirer_1.HirerChangeRequestNewHirer._Repository = mockRepo;
71
+ });
72
+ describe('init()', () => {
73
+ it('returns empty instance when no newHirerId provided', () => __awaiter(void 0, void 0, void 0, function* () {
74
+ const nh = yield hirer_change_request_new_hirer_1.HirerChangeRequestNewHirer.init();
75
+ expect(nh).toBeInstanceOf(hirer_change_request_new_hirer_1.HirerChangeRequestNewHirer);
76
+ expect(nh.NewHirerId).toBeUndefined();
77
+ }));
78
+ it('returns populated instance when newHirerId exists', () => __awaiter(void 0, void 0, void 0, function* () {
79
+ mockRepo.findByPk.mockResolvedValue({ get: () => baseNewHirerAttr });
80
+ const nh = yield hirer_change_request_new_hirer_1.HirerChangeRequestNewHirer.init('nh-001');
81
+ expect(nh.NewHirerId).toBe('nh-001');
82
+ expect(nh.FullName).toBe('Jane Doe');
83
+ }));
84
+ it('throws ClassError when newHirerId not found', () => __awaiter(void 0, void 0, void 0, function* () {
85
+ mockRepo.findByPk.mockResolvedValue(null);
86
+ yield expect(hirer_change_request_new_hirer_1.HirerChangeRequestNewHirer.init('non-existent')).rejects.toThrow('HirerChangeRequestNewHirer not found');
87
+ }));
88
+ });
89
+ describe('findAll()', () => {
90
+ it('returns list of instances matching search criteria', () => __awaiter(void 0, void 0, void 0, function* () {
91
+ mockRepo.findAll.mockResolvedValue([{ get: () => baseNewHirerAttr }]);
92
+ const results = yield hirer_change_request_new_hirer_1.HirerChangeRequestNewHirer.findAll({
93
+ RequestId: 'req-001',
94
+ });
95
+ expect(results).toHaveLength(1);
96
+ expect(results[0]).toBeInstanceOf(hirer_change_request_new_hirer_1.HirerChangeRequestNewHirer);
97
+ expect(results[0].RequestId).toBe('req-001');
98
+ }));
99
+ });
100
+ describe('create()', () => {
101
+ let nh;
102
+ beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
103
+ nh = yield hirer_change_request_new_hirer_1.HirerChangeRequestNewHirer.init();
104
+ Object.assign(nh, baseNewHirerAttr);
105
+ nh.NewHirerId = undefined;
106
+ }));
107
+ it('successfully creates record and registers activity log', () => __awaiter(void 0, void 0, void 0, function* () {
108
+ mockRepo.create.mockResolvedValue({ NewHirerId: 'mock-uuid' });
109
+ yield nh.create(mockLoginUser, null);
110
+ expect(mockRepo.create).toHaveBeenCalled();
111
+ }));
112
+ });
113
+ });
114
+ //# sourceMappingURL=hirer-change-request-new-hirer.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hirer-change-request-new-hirer.spec.js","sourceRoot":"","sources":["../../../../src/components/hirer-change-request-new-hirer/hirer-change-request-new-hirer.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const hirer_change_request_remove_hirer_1 = require("./hirer-change-request-remove-hirer");
13
+ jest.mock('@tomei/general', () => {
14
+ class ObjectBase {
15
+ createId() {
16
+ return 'mock-uuid';
17
+ }
18
+ _createId() {
19
+ return 'mock-uuid';
20
+ }
21
+ }
22
+ class RepositoryBase {
23
+ }
24
+ class ClassError extends Error {
25
+ constructor(className, code, message) {
26
+ super(message);
27
+ this.className = className;
28
+ this.code = code;
29
+ this.name = 'ClassError';
30
+ }
31
+ }
32
+ return { ObjectBase, RepositoryBase, ClassError };
33
+ });
34
+ jest.mock('@tomei/activity-history', () => ({
35
+ Activity: jest.fn().mockImplementation(() => ({
36
+ createId: jest.fn().mockReturnValue('activity-uuid'),
37
+ _createId: jest.fn().mockReturnValue('activity-uuid'),
38
+ create: jest.fn().mockResolvedValue(undefined),
39
+ })),
40
+ ActionEnum: { CREATE: 'Create', UPDATE: 'Update' },
41
+ }));
42
+ const mockLoginUser = {
43
+ ObjectId: 'user-001',
44
+ };
45
+ const baseRemoveHirerAttr = {
46
+ RemoveHirerId: 'rh-001',
47
+ RequestId: 'req-001',
48
+ TargetHirerId: 'hirer-111',
49
+ };
50
+ const makeRepo = () => ({
51
+ findByPk: jest.fn(),
52
+ findAll: jest.fn(),
53
+ create: jest.fn().mockResolvedValue(undefined),
54
+ });
55
+ describe('HirerChangeRequestRemoveHirer', () => {
56
+ let mockRepo;
57
+ beforeEach(() => {
58
+ jest.clearAllMocks();
59
+ mockRepo = makeRepo();
60
+ hirer_change_request_remove_hirer_1.HirerChangeRequestRemoveHirer._Repository = mockRepo;
61
+ });
62
+ describe('init()', () => {
63
+ it('returns empty instance when no removeHirerId provided', () => __awaiter(void 0, void 0, void 0, function* () {
64
+ const rh = yield hirer_change_request_remove_hirer_1.HirerChangeRequestRemoveHirer.init();
65
+ expect(rh).toBeInstanceOf(hirer_change_request_remove_hirer_1.HirerChangeRequestRemoveHirer);
66
+ expect(rh.RemoveHirerId).toBeUndefined();
67
+ }));
68
+ it('returns populated instance when removeHirerId exists', () => __awaiter(void 0, void 0, void 0, function* () {
69
+ mockRepo.findByPk.mockResolvedValue({ get: () => baseRemoveHirerAttr });
70
+ const rh = yield hirer_change_request_remove_hirer_1.HirerChangeRequestRemoveHirer.init('rh-001');
71
+ expect(rh.RemoveHirerId).toBe('rh-001');
72
+ expect(rh.TargetHirerId).toBe('hirer-111');
73
+ }));
74
+ it('throws ClassError when removeHirerId not found', () => __awaiter(void 0, void 0, void 0, function* () {
75
+ mockRepo.findByPk.mockResolvedValue(null);
76
+ yield expect(hirer_change_request_remove_hirer_1.HirerChangeRequestRemoveHirer.init('non-existent')).rejects.toThrow('HirerChangeRequestRemoveHirer not found');
77
+ }));
78
+ });
79
+ describe('findAll()', () => {
80
+ it('returns list of instances matching search criteria', () => __awaiter(void 0, void 0, void 0, function* () {
81
+ mockRepo.findAll.mockResolvedValue([{ get: () => baseRemoveHirerAttr }]);
82
+ const results = yield hirer_change_request_remove_hirer_1.HirerChangeRequestRemoveHirer.findAll({
83
+ RequestId: 'req-001',
84
+ });
85
+ expect(results).toHaveLength(1);
86
+ expect(results[0]).toBeInstanceOf(hirer_change_request_remove_hirer_1.HirerChangeRequestRemoveHirer);
87
+ expect(results[0].RequestId).toBe('req-001');
88
+ }));
89
+ });
90
+ describe('create()', () => {
91
+ let rh;
92
+ beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
93
+ rh = yield hirer_change_request_remove_hirer_1.HirerChangeRequestRemoveHirer.init();
94
+ Object.assign(rh, baseRemoveHirerAttr);
95
+ rh.RemoveHirerId = undefined;
96
+ }));
97
+ it('throws when TargetHirerId and RequestId are missing', () => __awaiter(void 0, void 0, void 0, function* () {
98
+ rh.TargetHirerId = undefined;
99
+ rh.RequestId = undefined;
100
+ yield expect(rh.create(mockLoginUser, null)).rejects.toThrow('TargetHirerId and RequestId are required');
101
+ }));
102
+ it('successfully creates record and registers activity log', () => __awaiter(void 0, void 0, void 0, function* () {
103
+ mockRepo.create.mockResolvedValue({ RemoveHirerId: 'mock-uuid' });
104
+ yield rh.create(mockLoginUser, null);
105
+ expect(mockRepo.create).toHaveBeenCalled();
106
+ }));
107
+ });
108
+ });
109
+ //# sourceMappingURL=hirer-change-request-remove-hirer.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hirer-change-request-remove-hirer.spec.js","sourceRoot":"","sources":["../../../../src/components/hirer-change-request-remove-hirer/hirer-change-request-remove-hirer.spec.ts"],"names":[],"mappings":"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"}