@escapenavigator/utils 1.9.11 → 1.9.12

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.
@@ -1,6 +1,7 @@
1
1
  import { QuestroomCancelationTypeEnum } from '@escapenavigator/types/dist/questroom/enum/questroom-cancelation-type.enum';
2
- export declare const getCancelationFeeAmount: ({ cancelationRule, total, minimalPrice, }: {
2
+ export declare const getCancelationFeeAmount: ({ cancelationRule, total, minimalPrice, cancelationAmount, }: {
3
3
  cancelationRule: QuestroomCancelationTypeEnum;
4
4
  total: number;
5
5
  minimalPrice: number;
6
+ cancelationAmount: number;
6
7
  }) => number;
@@ -2,10 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCancelationFeeAmount = void 0;
4
4
  const questroom_cancelation_type_enum_1 = require("@escapenavigator/types/dist/questroom/enum/questroom-cancelation-type.enum");
5
- const getCancelationFeeAmount = ({ cancelationRule, total, minimalPrice, }) => {
5
+ const getCancelationFeeAmount = ({ cancelationRule, total, minimalPrice, cancelationAmount, }) => {
6
6
  switch (cancelationRule) {
7
7
  case questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.MIN_PRICE:
8
8
  return minimalPrice;
9
+ case questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.FIXED:
10
+ return cancelationAmount;
9
11
  case questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.HALF_PRICE:
10
12
  return Math.floor(total / 2);
11
13
  case questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.FULL_PRICE:
@@ -5,6 +5,7 @@ const _1 = require(".");
5
5
  describe('getCancelationFeeAmount function', () => {
6
6
  test('should return correct FULL_PRICE', () => {
7
7
  const result = (0, _1.getCancelationFeeAmount)({
8
+ cancelationAmount: 0,
8
9
  cancelationRule: questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.FULL_PRICE,
9
10
  total: 100,
10
11
  minimalPrice: 20,
@@ -13,6 +14,7 @@ describe('getCancelationFeeAmount function', () => {
13
14
  });
14
15
  test('should return correct QuestroomCancelationTypeEnum HALF_PRICE', () => {
15
16
  const result = (0, _1.getCancelationFeeAmount)({
17
+ cancelationAmount: 0,
16
18
  cancelationRule: questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.HALF_PRICE,
17
19
  total: 100,
18
20
  minimalPrice: 20,
@@ -21,6 +23,7 @@ describe('getCancelationFeeAmount function', () => {
21
23
  });
22
24
  test('should return correct QuestroomCancelationTypeEnum MIN_PRICE', () => {
23
25
  const result = (0, _1.getCancelationFeeAmount)({
26
+ cancelationAmount: 0,
24
27
  cancelationRule: questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.MIN_PRICE,
25
28
  total: 100,
26
29
  minimalPrice: 20,
@@ -29,6 +32,7 @@ describe('getCancelationFeeAmount function', () => {
29
32
  });
30
33
  test('should return correct QuestroomCancelationTypeEnum NO', () => {
31
34
  const result = (0, _1.getCancelationFeeAmount)({
35
+ cancelationAmount: 0,
32
36
  cancelationRule: questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.NO,
33
37
  total: 100,
34
38
  minimalPrice: 20,
@@ -6,6 +6,7 @@ declare type Props = {
6
6
  minHoursForFreeCanceling: number;
7
7
  cancelationReason: OrderCancelReasonEnum;
8
8
  returnCertificates: boolean;
9
+ cancelationAmount: number;
9
10
  cancelationRule: QuestroomCancelationTypeEnum;
10
11
  transactions: Array<{
11
12
  type: TransactionTypeEnum;
@@ -30,7 +31,7 @@ export declare const isCancelationAllowed: ({ date, minHoursForFreeCanceling, }:
30
31
  date: string;
31
32
  minHoursForFreeCanceling: number;
32
33
  }) => boolean;
33
- export declare function getOrderCancelationState({ cancelationReason, cancelationRule, transactions, date, returnCertificates, certificates, minHoursForFreeCanceling, total, payed, minimalPrice, }: Props): {
34
+ export declare function getOrderCancelationState({ cancelationReason, cancelationRule, cancelationAmount, transactions, date, returnCertificates, certificates, minHoursForFreeCanceling, total, payed, minimalPrice, }: Props): {
34
35
  fineAmount: number;
35
36
  returnAmount: number;
36
37
  allowedCancelation: boolean;
@@ -23,7 +23,7 @@ var FineDescriptions;
23
23
  })(FineDescriptions = exports.FineDescriptions || (exports.FineDescriptions = {}));
24
24
  const isCancelationAllowed = ({ date, minHoursForFreeCanceling = 0, }) => (0, differenceInHours_1.default)(new Date(date), new Date()) > minHoursForFreeCanceling;
25
25
  exports.isCancelationAllowed = isCancelationAllowed;
26
- function getOrderCancelationState({ cancelationReason, cancelationRule, transactions, date, returnCertificates, certificates, minHoursForFreeCanceling, total, payed, minimalPrice, }) {
26
+ function getOrderCancelationState({ cancelationReason, cancelationRule, cancelationAmount, transactions, date, returnCertificates, certificates, minHoursForFreeCanceling, total, payed, minimalPrice, }) {
27
27
  const minHours = cancelationRule === questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.NO ? 0 : minHoursForFreeCanceling;
28
28
  const allowedCancelation = cancelationReason === order_cancel_reson_enum_1.OrderCancelReasonEnum.QUESTROOM ||
29
29
  (0, exports.isCancelationAllowed)({
@@ -37,7 +37,9 @@ function getOrderCancelationState({ cancelationReason, cancelationRule, transact
37
37
  const orderPayment = returnCertificates
38
38
  ? payed - certificates.reduce((acc, c) => acc + c.nominal, 0)
39
39
  : payed;
40
- const fineAmount = +(0, get_cancelation_fee_amount_1.getCancelationFeeAmount)({ cancelationRule, total, minimalPrice }).toFixed(0);
40
+ const fineAmount = +(0, get_cancelation_fee_amount_1.getCancelationFeeAmount)({
41
+ cancelationRule, total, minimalPrice, cancelationAmount,
42
+ }).toFixed(0);
41
43
  const chargeAmount = fineAmount - orderPayment;
42
44
  /**
43
45
  * Кейсы, если игра отменяется в срок
@@ -10,6 +10,7 @@ describe('getOrderCancelationState function', () => {
10
10
  test('should return "no charge / no return" if cancelationReason is QUESTROOM', () => {
11
11
  const result = (0, _1.getOrderCancelationState)({
12
12
  cancelationReason: order_cancel_reson_enum_1.OrderCancelReasonEnum.QUESTROOM,
13
+ cancelationAmount: 0,
13
14
  cancelationRule: questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.FULL_PRICE,
14
15
  transactions: [],
15
16
  date: new Date().toISOString(),
@@ -31,6 +32,7 @@ describe('getOrderCancelationState function', () => {
31
32
  test('should return "no charge / no return" if cancelation in time', () => {
32
33
  const result = (0, _1.getOrderCancelationState)({
33
34
  cancelationReason: order_cancel_reson_enum_1.OrderCancelReasonEnum.CLIENT,
35
+ cancelationAmount: 0,
34
36
  cancelationRule: questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.FULL_PRICE,
35
37
  transactions: [],
36
38
  date: (0, date_fns_1.addHours)(new Date(), 50).toISOString(),
@@ -53,6 +55,7 @@ describe('getOrderCancelationState function', () => {
53
55
  const result = (0, _1.getOrderCancelationState)({
54
56
  cancelationReason: order_cancel_reson_enum_1.OrderCancelReasonEnum.CLIENT,
55
57
  cancelationRule: questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.NO,
58
+ cancelationAmount: 0,
56
59
  transactions: [],
57
60
  date: new Date().toISOString(),
58
61
  returnCertificates: true,
@@ -73,6 +76,7 @@ describe('getOrderCancelationState function', () => {
73
76
  test('should return "no charge / hand return" if alowed cancelation has payments', () => {
74
77
  const result = (0, _1.getOrderCancelationState)({
75
78
  cancelationReason: order_cancel_reson_enum_1.OrderCancelReasonEnum.CLIENT,
79
+ cancelationAmount: 0,
76
80
  cancelationRule: questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.FULL_PRICE,
77
81
  transactions: [
78
82
  {
@@ -99,6 +103,7 @@ describe('getOrderCancelationState function', () => {
99
103
  test('should return "no charge / hand return" if not alowed cancelation has inside transaction', () => {
100
104
  const result = (0, _1.getOrderCancelationState)({
101
105
  cancelationReason: order_cancel_reson_enum_1.OrderCancelReasonEnum.CLIENT,
106
+ cancelationAmount: 0,
102
107
  cancelationRule: questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.NO,
103
108
  transactions: [
104
109
  {
@@ -125,6 +130,7 @@ describe('getOrderCancelationState function', () => {
125
130
  test('should return "no charge / no return" if not alowed cancelation payed same price', () => {
126
131
  const result = (0, _1.getOrderCancelationState)({
127
132
  cancelationReason: order_cancel_reson_enum_1.OrderCancelReasonEnum.CLIENT,
133
+ cancelationAmount: 0,
128
134
  cancelationRule: questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.FULL_PRICE,
129
135
  transactions: [
130
136
  {
@@ -151,6 +157,7 @@ describe('getOrderCancelationState function', () => {
151
157
  test('should return "no charge / auto return" if not alowed cancelation has overpayment', () => {
152
158
  const result = (0, _1.getOrderCancelationState)({
153
159
  cancelationReason: order_cancel_reson_enum_1.OrderCancelReasonEnum.CLIENT,
160
+ cancelationAmount: 0,
154
161
  cancelationRule: questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.HALF_PRICE,
155
162
  transactions: [
156
163
  {
@@ -177,6 +184,7 @@ describe('getOrderCancelationState function', () => {
177
184
  test('should return "with charge / no return" if not alowed cancelation has overpayment', () => {
178
185
  const result = (0, _1.getOrderCancelationState)({
179
186
  cancelationReason: order_cancel_reson_enum_1.OrderCancelReasonEnum.CLIENT,
187
+ cancelationAmount: 0,
180
188
  cancelationRule: questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.FULL_PRICE,
181
189
  transactions: [
182
190
  {
@@ -20,7 +20,7 @@ const serializeSlotOrderData = (order) => order && {
20
20
  };
21
21
  exports.serializeSlotOrderData = serializeSlotOrderData;
22
22
  const serializeSlot = ({ slot, order }) => {
23
- const { prepayment, prepaymentType, title, minHoursForBooking, minHoursForFreeCanceling, cancelationRule, } = slot.rule || defailt_rule_1.defaultRule;
23
+ const { prepayment, prepaymentType, title, minHoursForBooking, minHoursForFreeCanceling, cancelationRule, cancelationAmount, } = slot.rule || defailt_rule_1.defaultRule;
24
24
  return {
25
25
  id: slot.id,
26
26
  questroomId: slot.questroomId,
@@ -33,6 +33,7 @@ const serializeSlot = ({ slot, order }) => {
33
33
  breakReason: slot.breakReason,
34
34
  rule: {
35
35
  prepayment,
36
+ cancelationAmount,
36
37
  prepaymentType,
37
38
  title,
38
39
  minHoursForBooking,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@escapenavigator/utils",
3
- "version": "1.9.11",
3
+ "version": "1.9.12",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -14,7 +14,7 @@
14
14
  "test": "jest"
15
15
  },
16
16
  "dependencies": {
17
- "@escapenavigator/types": "^1.9.11",
17
+ "@escapenavigator/types": "^1.9.12",
18
18
  "axios": "^0.21.4",
19
19
  "class-transformer": "^0.5.1",
20
20
  "class-validator": "^0.13.2",
@@ -55,5 +55,5 @@
55
55
  "node_modules"
56
56
  ]
57
57
  },
58
- "gitHead": "e39f154f78a3f8e411778c3b30a644ba89ce2713"
58
+ "gitHead": "31d4ca67a64eee6a4402092d61bb2c19e2390abd"
59
59
  }