@nimee/api-clients 1.1.5 → 1.1.6
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.
- package/dist/src/ticket.d.ts +2 -0
- package/dist/src/ticket.js +15 -0
- package/dist/src/ticket.js.map +1 -1
- package/dist/tests/ticket.test.d.ts +1 -0
- package/dist/tests/ticket.test.js +58 -0
- package/dist/tests/ticket.test.js.map +1 -0
- package/jest.config.js +21 -0
- package/package.json +8 -2
- package/src/ticket.ts +14 -0
- package/tests/ticket.test.ts +50 -0
package/dist/src/ticket.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IUserEventModel } from "@nimee/shared-types";
|
|
1
2
|
export declare class TicketClient {
|
|
2
3
|
getTicketById(params: {
|
|
3
4
|
token: string;
|
|
@@ -9,4 +10,5 @@ export declare class TicketClient {
|
|
|
9
10
|
token: string;
|
|
10
11
|
ticketIds: string[];
|
|
11
12
|
}): Promise<any>;
|
|
13
|
+
static extractTickets(arr: IUserEventModel[]): string[];
|
|
12
14
|
}
|
package/dist/src/ticket.js
CHANGED
|
@@ -36,6 +36,21 @@ class TicketClient {
|
|
|
36
36
|
return response === null || response === void 0 ? void 0 : response.data;
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
+
static extractTickets(arr) {
|
|
40
|
+
const tickets = [];
|
|
41
|
+
arr.forEach((item) => {
|
|
42
|
+
var _a;
|
|
43
|
+
if ((_a = item.ticketsInfo) === null || _a === void 0 ? void 0 : _a.length) {
|
|
44
|
+
item.ticketsInfo.forEach((ticketInfo) => {
|
|
45
|
+
tickets.push(ticketInfo.ticket);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else if (item.ticket) {
|
|
49
|
+
tickets.push(item.ticket);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
return tickets;
|
|
53
|
+
}
|
|
39
54
|
}
|
|
40
55
|
exports.TicketClient = TicketClient;
|
|
41
56
|
//# sourceMappingURL=ticket.js.map
|
package/dist/src/ticket.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticket.js","sourceRoot":"","sources":["../../src/ticket.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ticket.js","sourceRoot":"","sources":["../../src/ticket.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,kDAA0B;AAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;AACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;AAC/F,MAAM,SAAS,GAAG,GAAG,QAAQ,eAAe,CAAC;AAE7C,MAAa,YAAY;IACjB,aAAa,CAAC,MAA+E;;YACjG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YACvD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,SAAS,YAAY,SAAS,IAAI,OAAO,IAAI,QAAQ,EAAE,EAAE;gBAC3F,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE;aAC7B,CAAC,CAAC;YACH,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC;QACxB,CAAC;KAAA;IACK,0BAA0B,CAAC,MAA8C;;YAC7E,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,GAAG,SAAS,6BAA6B,EACzC,EAAE,SAAS,EAAE,EACb;gBACE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE;aAC7B,CACF,CAAC;YACF,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC;QACxB,CAAC;KAAA;IACD,MAAM,CAAC,cAAc,CAAC,GAAsB;QAC1C,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAqB,EAAE,EAAE;;YACpC,IAAI,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,EAAE;gBAC5B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAA4B,EAAE,EAAE;oBACxD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE;gBACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAhCD,oCAgCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const tests_1 = require("@nimee/tests");
|
|
16
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
17
|
+
const ticket_1 = require("../src/ticket");
|
|
18
|
+
describe("ticket client", () => {
|
|
19
|
+
test("when calling extract tickets from user events array with ticketsInfo array, all tickets extract correctly", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
// Arrange
|
|
21
|
+
const eventId = new mongoose_1.default.Types.ObjectId();
|
|
22
|
+
const accountId = new mongoose_1.default.Types.ObjectId();
|
|
23
|
+
const ticketId1 = new mongoose_1.default.Types.ObjectId();
|
|
24
|
+
const ticketId2 = new mongoose_1.default.Types.ObjectId();
|
|
25
|
+
const helper = new tests_1.Helper();
|
|
26
|
+
const userEvent1 = yield helper.createUserEvent(eventId.toString(), accountId.toString(), [ticketId1.toString()], false);
|
|
27
|
+
const userEvent2 = yield helper.createUserEvent(eventId.toString(), accountId.toString(), [ticketId2.toString()], false);
|
|
28
|
+
const userEvent3 = yield helper.createUserEvent(eventId.toString(), accountId.toString(), [ticketId2.toString(), ticketId2.toString(), ticketId1.toString()], false);
|
|
29
|
+
// ACT
|
|
30
|
+
const tickets = ticket_1.TicketClient.extractTickets([userEvent1, userEvent2, userEvent3]);
|
|
31
|
+
// Assert
|
|
32
|
+
expect(tickets.length).toBe(5);
|
|
33
|
+
expect(tickets).toEqual([
|
|
34
|
+
ticketId1.toString(),
|
|
35
|
+
ticketId2.toString(),
|
|
36
|
+
ticketId2.toString(),
|
|
37
|
+
ticketId2.toString(),
|
|
38
|
+
ticketId1.toString(),
|
|
39
|
+
]);
|
|
40
|
+
}));
|
|
41
|
+
test("when calling extract tickets from user events array with ticket (legacy), all tickets extract correctly", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
42
|
+
// Arrange
|
|
43
|
+
const eventId = new mongoose_1.default.Types.ObjectId();
|
|
44
|
+
const accountId = new mongoose_1.default.Types.ObjectId();
|
|
45
|
+
const ticketId1 = new mongoose_1.default.Types.ObjectId();
|
|
46
|
+
const ticketId2 = new mongoose_1.default.Types.ObjectId();
|
|
47
|
+
const helper = new tests_1.Helper();
|
|
48
|
+
const userEvent1 = yield helper.createUserEvent(eventId.toString(), accountId.toString(), [ticketId1.toString()], true);
|
|
49
|
+
const userEvent2 = yield helper.createUserEvent(eventId.toString(), accountId.toString(), [ticketId2.toString()], true);
|
|
50
|
+
const userEvent3 = yield helper.createUserEvent(eventId.toString(), accountId.toString(), [ticketId2.toString()], true);
|
|
51
|
+
// ACT
|
|
52
|
+
const tickets = ticket_1.TicketClient.extractTickets([userEvent1, userEvent2, userEvent3]);
|
|
53
|
+
// Assert
|
|
54
|
+
expect(tickets.length).toBe(3);
|
|
55
|
+
expect(tickets).toEqual([ticketId1.toString(), ticketId2.toString(), ticketId2.toString()]);
|
|
56
|
+
}));
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=ticket.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ticket.test.js","sourceRoot":"","sources":["../../tests/ticket.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wCAAsC;AACtC,wDAAgC;AAChC,0CAA6C;AAC7C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,CAAC,2GAA2G,EAAE,GAAS,EAAE;QAC3H,UAAU;QACV,MAAM,OAAO,GAAG,IAAI,kBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,kBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,kBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,kBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEhD,MAAM,MAAM,GAAG,IAAI,cAAM,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACzH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACzH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,eAAe,CAC7C,OAAO,CAAC,QAAQ,EAAE,EAClB,SAAS,CAAC,QAAQ,EAAE,EACpB,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAClE,KAAK,CACN,CAAC;QACF,MAAM;QACN,MAAM,OAAO,GAAG,qBAAY,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAClF,SAAS;QACT,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,SAAS,CAAC,QAAQ,EAAE;YACpB,SAAS,CAAC,QAAQ,EAAE;YACpB,SAAS,CAAC,QAAQ,EAAE;YACpB,SAAS,CAAC,QAAQ,EAAE;YACpB,SAAS,CAAC,QAAQ,EAAE;SACrB,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,yGAAyG,EAAE,GAAS,EAAE;QACzH,UAAU;QACV,MAAM,OAAO,GAAG,IAAI,kBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,kBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,kBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,kBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEhD,MAAM,MAAM,GAAG,IAAI,cAAM,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACxH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACxH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACxH,MAAM;QACN,MAAM,OAAO,GAAG,qBAAY,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAClF,SAAS;QACT,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/jest.config.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const config = require("@nimee/tests");
|
|
2
|
+
|
|
3
|
+
const { clearMocks, coverageDirectory, collectCoverage, coverageReporters, forceExit, transform, testTimeout } =
|
|
4
|
+
config.jestConfig;
|
|
5
|
+
|
|
6
|
+
module.exports = {
|
|
7
|
+
setupFiles: ["dotenv/config"],
|
|
8
|
+
globalSetup: "../../node_modules/@nimee/tests/setup/global-setup.js",
|
|
9
|
+
globalTeardown: "../../node_modules/@nimee/tests/setup/global-teardown.js",
|
|
10
|
+
setupFilesAfterEnv: ["../../node_modules/@nimee/tests/setup/after-env-setup.js"],
|
|
11
|
+
clearMocks: clearMocks,
|
|
12
|
+
coverageDirectory: coverageDirectory,
|
|
13
|
+
testEnvironment: "node",
|
|
14
|
+
collectCoverage: collectCoverage,
|
|
15
|
+
coverageReporters: coverageReporters,
|
|
16
|
+
forceExit: forceExit,
|
|
17
|
+
transform: { "^.+\\.tsx?$": "ts-jest" },
|
|
18
|
+
testTimeout: testTimeout,
|
|
19
|
+
modulePathIgnorePatterns: ["<rootDir>/test-client/", "<rootDir>/dist/"],
|
|
20
|
+
transformIgnorePatterns: ["node_modules/(?!axios)"],
|
|
21
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nimee/api-clients",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.6",
|
|
4
4
|
"description": "communication http for each ms",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"author": "dan goldberg",
|
|
@@ -17,18 +17,24 @@
|
|
|
17
17
|
"i-all-workspaces": "version=${npm_package_version} npm i @nimee/api-clients@$version --workspace=@nimee/event --workspace=@nimee/user-event --workspace=@nimee/send-notification --workspace=@nimee/user --workspace=@nimee/payment --workspace=@nimee/analytics"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
+
"@nimee/tests": "0.0.3",
|
|
20
21
|
"@typescript-eslint/eslint-plugin": "^5.18.0",
|
|
21
22
|
"@typescript-eslint/eslint-plugin-tslint": "^5.18.0",
|
|
22
23
|
"@typescript-eslint/parser": "^5.18.0",
|
|
23
24
|
"eslint": "8.22.0",
|
|
24
25
|
"eslint-plugin-jsdoc": "^38.1.6",
|
|
25
26
|
"eslint-plugin-no-null": "^1.0.2",
|
|
27
|
+
"jest": "^29.0.0",
|
|
28
|
+
"jest-junit": "^12.0.0",
|
|
29
|
+
"nock": "^13.0.5",
|
|
26
30
|
"nodemon": "^1.19.1",
|
|
31
|
+
"sinon": "^9.2.1",
|
|
32
|
+
"ts-jest": "^29.0.0",
|
|
27
33
|
"typescript": "^4.8.3"
|
|
28
34
|
},
|
|
29
35
|
"types": "dist/src/index.d.ts",
|
|
30
36
|
"dependencies": {
|
|
31
|
-
"@nimee/logger": "1.0.
|
|
37
|
+
"@nimee/logger": "1.0.22",
|
|
32
38
|
"@nimee/shared-types": "^1.0.35",
|
|
33
39
|
"axios": "1.2.1"
|
|
34
40
|
}
|
package/src/ticket.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ITicketInfoModel, IUserEventModel } from "@nimee/shared-types";
|
|
1
2
|
import axios from "axios";
|
|
2
3
|
const port = process.env.EVENT_PORT;
|
|
3
4
|
const basePath = process.env.IS_LOCAL === "true" ? `http://localhost:${port}` : "http://event";
|
|
@@ -22,4 +23,17 @@ export class TicketClient {
|
|
|
22
23
|
);
|
|
23
24
|
return response?.data;
|
|
24
25
|
}
|
|
26
|
+
static extractTickets(arr: IUserEventModel[]): string[] {
|
|
27
|
+
const tickets: Array<string> = [];
|
|
28
|
+
arr.forEach((item: IUserEventModel) => {
|
|
29
|
+
if (item.ticketsInfo?.length) {
|
|
30
|
+
item.ticketsInfo.forEach((ticketInfo: ITicketInfoModel) => {
|
|
31
|
+
tickets.push(ticketInfo.ticket);
|
|
32
|
+
});
|
|
33
|
+
} else if (item.ticket) {
|
|
34
|
+
tickets.push(item.ticket);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return tickets;
|
|
38
|
+
}
|
|
25
39
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Helper } from "@nimee/tests";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
import { TicketClient } from "../src/ticket";
|
|
4
|
+
describe("ticket client", () => {
|
|
5
|
+
test("when calling extract tickets from user events array with ticketsInfo array, all tickets extract correctly", async () => {
|
|
6
|
+
// Arrange
|
|
7
|
+
const eventId = new mongoose.Types.ObjectId();
|
|
8
|
+
const accountId = new mongoose.Types.ObjectId();
|
|
9
|
+
const ticketId1 = new mongoose.Types.ObjectId();
|
|
10
|
+
const ticketId2 = new mongoose.Types.ObjectId();
|
|
11
|
+
|
|
12
|
+
const helper = new Helper();
|
|
13
|
+
const userEvent1 = await helper.createUserEvent(eventId.toString(), accountId.toString(), [ticketId1.toString()], false);
|
|
14
|
+
const userEvent2 = await helper.createUserEvent(eventId.toString(), accountId.toString(), [ticketId2.toString()], false);
|
|
15
|
+
const userEvent3 = await helper.createUserEvent(
|
|
16
|
+
eventId.toString(),
|
|
17
|
+
accountId.toString(),
|
|
18
|
+
[ticketId2.toString(), ticketId2.toString(), ticketId1.toString()],
|
|
19
|
+
false
|
|
20
|
+
);
|
|
21
|
+
// ACT
|
|
22
|
+
const tickets = TicketClient.extractTickets([userEvent1, userEvent2, userEvent3]);
|
|
23
|
+
// Assert
|
|
24
|
+
expect(tickets.length).toBe(5);
|
|
25
|
+
expect(tickets).toEqual([
|
|
26
|
+
ticketId1.toString(),
|
|
27
|
+
ticketId2.toString(),
|
|
28
|
+
ticketId2.toString(),
|
|
29
|
+
ticketId2.toString(),
|
|
30
|
+
ticketId1.toString(),
|
|
31
|
+
]);
|
|
32
|
+
});
|
|
33
|
+
test("when calling extract tickets from user events array with ticket (legacy), all tickets extract correctly", async () => {
|
|
34
|
+
// Arrange
|
|
35
|
+
const eventId = new mongoose.Types.ObjectId();
|
|
36
|
+
const accountId = new mongoose.Types.ObjectId();
|
|
37
|
+
const ticketId1 = new mongoose.Types.ObjectId();
|
|
38
|
+
const ticketId2 = new mongoose.Types.ObjectId();
|
|
39
|
+
|
|
40
|
+
const helper = new Helper();
|
|
41
|
+
const userEvent1 = await helper.createUserEvent(eventId.toString(), accountId.toString(), [ticketId1.toString()], true);
|
|
42
|
+
const userEvent2 = await helper.createUserEvent(eventId.toString(), accountId.toString(), [ticketId2.toString()], true);
|
|
43
|
+
const userEvent3 = await helper.createUserEvent(eventId.toString(), accountId.toString(), [ticketId2.toString()], true);
|
|
44
|
+
// ACT
|
|
45
|
+
const tickets = TicketClient.extractTickets([userEvent1, userEvent2, userEvent3]);
|
|
46
|
+
// Assert
|
|
47
|
+
expect(tickets.length).toBe(3);
|
|
48
|
+
expect(tickets).toEqual([ticketId1.toString(), ticketId2.toString(), ticketId2.toString()]);
|
|
49
|
+
});
|
|
50
|
+
});
|