btrz-api-client 9.4.0 → 9.6.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.
- package/lib/client-standalone-min.js +6 -6
- package/lib/client.js +4 -0
- package/lib/endpoints/inventory/banorte-terminals.js +181 -0
- package/package.json +1 -1
- package/src/client.js +1 -0
- package/src/endpoints/inventory/banorte-terminals.js +156 -0
- package/test/all.test.js +1 -0
- package/test/endpoints/inventory/banorte-terminals.test.js +173 -0
package/lib/client.js
CHANGED
|
@@ -183,6 +183,10 @@ function createInventory({
|
|
|
183
183
|
client,
|
|
184
184
|
internalAuthTokenProvider
|
|
185
185
|
}),
|
|
186
|
+
banorteTerminals: require("./endpoints/inventory/banorte-terminals.js")({
|
|
187
|
+
client,
|
|
188
|
+
internalAuthTokenProvider
|
|
189
|
+
}),
|
|
186
190
|
getnetTerminals: require("./endpoints/inventory/getnet-terminals.js")({
|
|
187
191
|
client,
|
|
188
192
|
internalAuthTokenProvider
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
const {
|
|
2
|
+
authorizationHeaders
|
|
3
|
+
} = require("../endpoints_helpers.js");
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Query params for GET /banorte-terminals (btrz-api-inventory). See get-handler getSpec().
|
|
7
|
+
* @typedef {Object} BanorteTerminalsQuery
|
|
8
|
+
* @property {number} [page] - The page number to retrieve
|
|
9
|
+
* @property {string} [stationId] - Filter terminals by station (location) ID
|
|
10
|
+
* @property {string} [serialNumber] - Filter terminals by serial number
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Factory for banorte-terminals API (btrz-api-inventory).
|
|
15
|
+
* @param {Object} deps
|
|
16
|
+
* @param {import("axios").AxiosInstance} deps.client
|
|
17
|
+
* @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
|
|
18
|
+
* @returns {{ all: function, get: function, create: function, remove: function, update: function }}
|
|
19
|
+
*/
|
|
20
|
+
function banorteTerminalFactory({
|
|
21
|
+
client,
|
|
22
|
+
internalAuthTokenProvider
|
|
23
|
+
}) {
|
|
24
|
+
/**
|
|
25
|
+
* GET /banorte-terminals - list Banorte terminals (paginated).
|
|
26
|
+
* @param {Object} opts
|
|
27
|
+
* @param {string} [opts.token] - API key
|
|
28
|
+
* @param {string} [opts.jwtToken] - JWT or internal auth symbol
|
|
29
|
+
* @param {BanorteTerminalsQuery} [opts.query] - Query params (page, stationId, serialNumber)
|
|
30
|
+
* @param {Object} [opts.headers] - Optional headers
|
|
31
|
+
* @returns {Promise<import("axios").AxiosResponse<{ banorteTerminals: Array, next?: string, previous?: string, count: number }>>}
|
|
32
|
+
* @throws When response is 4xx/5xx (400 INVALID_PAGE, 401, 500)
|
|
33
|
+
*/
|
|
34
|
+
function all({
|
|
35
|
+
token,
|
|
36
|
+
jwtToken,
|
|
37
|
+
query = {},
|
|
38
|
+
headers
|
|
39
|
+
}) {
|
|
40
|
+
return client.get("/banorte-terminals", {
|
|
41
|
+
params: query,
|
|
42
|
+
headers: authorizationHeaders({
|
|
43
|
+
token,
|
|
44
|
+
jwtToken,
|
|
45
|
+
internalAuthTokenProvider,
|
|
46
|
+
headers
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* GET /banorte-terminals/:banorteTerminalId - get a Banorte terminal by id.
|
|
53
|
+
* @param {Object} opts
|
|
54
|
+
* @param {string} [opts.token] - API key
|
|
55
|
+
* @param {string} [opts.jwtToken] - JWT or internal auth symbol
|
|
56
|
+
* @param {string} opts.banorteTerminalId - Banorte terminal id (24 hex characters)
|
|
57
|
+
* @param {Object} [opts.headers] - Optional headers
|
|
58
|
+
* @returns {Promise<import("axios").AxiosResponse<{ banorteTerminal: Object }>>}
|
|
59
|
+
* @throws When response is 4xx/5xx (400 INVALID_BANORTE_TERMINAL_ID, 401, 404 BANORTE_TERMINAL_NOT_FOUND, 500)
|
|
60
|
+
*/
|
|
61
|
+
function get({
|
|
62
|
+
banorteTerminalId,
|
|
63
|
+
token,
|
|
64
|
+
jwtToken,
|
|
65
|
+
headers
|
|
66
|
+
}) {
|
|
67
|
+
return client.get(`/banorte-terminals/${banorteTerminalId}`, {
|
|
68
|
+
headers: authorizationHeaders({
|
|
69
|
+
token,
|
|
70
|
+
jwtToken,
|
|
71
|
+
internalAuthTokenProvider,
|
|
72
|
+
headers
|
|
73
|
+
})
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* POST /banorte-terminals - create Banorte terminal.
|
|
79
|
+
* @param {Object} opts
|
|
80
|
+
* @param {string} [opts.token] - API key
|
|
81
|
+
* @param {string} [opts.jwtToken] - JWT or internal auth symbol
|
|
82
|
+
* @param {Object} opts.banorteTerminal - Banorte terminal payload (name, serialNumber, stationId optional)
|
|
83
|
+
* @param {Object} [opts.headers] - Optional headers
|
|
84
|
+
* @returns {Promise<import("axios").AxiosResponse<{ banorteTerminal: Object }>>}
|
|
85
|
+
* @throws When response is 4xx/5xx (400 WRONG_DATA/INVALID_STATION_ID/STATION_NOT_FOUND, 401, 409 duplicate serial, 500)
|
|
86
|
+
*/
|
|
87
|
+
function create({
|
|
88
|
+
jwtToken,
|
|
89
|
+
token,
|
|
90
|
+
banorteTerminal,
|
|
91
|
+
headers
|
|
92
|
+
}) {
|
|
93
|
+
return client({
|
|
94
|
+
url: "/banorte-terminals",
|
|
95
|
+
method: "post",
|
|
96
|
+
headers: authorizationHeaders({
|
|
97
|
+
token,
|
|
98
|
+
jwtToken,
|
|
99
|
+
internalAuthTokenProvider,
|
|
100
|
+
headers
|
|
101
|
+
}),
|
|
102
|
+
data: {
|
|
103
|
+
banorteTerminal
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* DELETE /banorte-terminals/:banorteTerminalId - remove Banorte terminal.
|
|
110
|
+
* @param {Object} opts
|
|
111
|
+
* @param {string} [opts.token] - API key
|
|
112
|
+
* @param {string} [opts.jwtToken] - JWT or internal auth symbol
|
|
113
|
+
* @param {string} opts.banorteTerminalId - Banorte terminal id (24 hex characters)
|
|
114
|
+
* @param {Object} [opts.headers] - Optional headers
|
|
115
|
+
* @returns {Promise<import("axios").AxiosResponse<{ banorteTerminalId: string }>>}
|
|
116
|
+
* @throws When response is 4xx/5xx (400 INVALID_BANORTE_TERMINAL_ID, 401, 404 BANORTE_TERMINAL_NOT_FOUND, 500)
|
|
117
|
+
*/
|
|
118
|
+
function remove({
|
|
119
|
+
jwtToken,
|
|
120
|
+
banorteTerminalId,
|
|
121
|
+
token,
|
|
122
|
+
headers
|
|
123
|
+
}) {
|
|
124
|
+
return client({
|
|
125
|
+
url: `/banorte-terminals/${banorteTerminalId}`,
|
|
126
|
+
method: "delete",
|
|
127
|
+
headers: authorizationHeaders({
|
|
128
|
+
token,
|
|
129
|
+
jwtToken,
|
|
130
|
+
internalAuthTokenProvider,
|
|
131
|
+
headers
|
|
132
|
+
})
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* PUT /banorte-terminals/:banorteTerminalId - update Banorte terminal.
|
|
138
|
+
* @param {Object} opts
|
|
139
|
+
* @param {string} [opts.token] - API key
|
|
140
|
+
* @param {string} [opts.jwtToken] - JWT or internal auth symbol
|
|
141
|
+
* @param {string} opts.banorteTerminalId - Banorte terminal id (24 hex characters)
|
|
142
|
+
* @param {Object} opts.banorteTerminal - Banorte terminal payload (name, serialNumber, stationId)
|
|
143
|
+
* @param {Object} [opts.headers] - Optional headers
|
|
144
|
+
* @returns {Promise<import("axios").AxiosResponse<{ banorteTerminal: Object }>>}
|
|
145
|
+
* @throws When response is 4xx/5xx (400, 401, 404 BANORTE_TERMINAL_NOT_FOUND, 409 duplicate serial, 500)
|
|
146
|
+
*/
|
|
147
|
+
function update({
|
|
148
|
+
jwtToken,
|
|
149
|
+
token,
|
|
150
|
+
banorteTerminalId,
|
|
151
|
+
banorteTerminal,
|
|
152
|
+
headers
|
|
153
|
+
}) {
|
|
154
|
+
const _banorteTerminalId = banorteTerminalId || banorteTerminal._id;
|
|
155
|
+
return client({
|
|
156
|
+
url: `/banorte-terminals/${_banorteTerminalId}`,
|
|
157
|
+
method: "put",
|
|
158
|
+
headers: authorizationHeaders({
|
|
159
|
+
token,
|
|
160
|
+
jwtToken,
|
|
161
|
+
internalAuthTokenProvider,
|
|
162
|
+
headers
|
|
163
|
+
}),
|
|
164
|
+
data: {
|
|
165
|
+
banorteTerminal: {
|
|
166
|
+
name: banorteTerminal.name,
|
|
167
|
+
serialNumber: banorteTerminal.serialNumber,
|
|
168
|
+
stationId: banorteTerminal.stationId
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
return {
|
|
174
|
+
all,
|
|
175
|
+
get,
|
|
176
|
+
create,
|
|
177
|
+
remove,
|
|
178
|
+
update
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
module.exports = banorteTerminalFactory;
|
package/package.json
CHANGED
package/src/client.js
CHANGED
|
@@ -84,6 +84,7 @@ function createInventory({baseURL, headers, timeout, overrideFn, internalAuthTok
|
|
|
84
84
|
filteredTripsV2: require("./endpoints/inventory/filtered-trips-v2.js")({client, internalAuthTokenProvider}),
|
|
85
85
|
financingCosts: require("./endpoints/inventory/financing-costs.js")({client, internalAuthTokenProvider}),
|
|
86
86
|
garages: require("./endpoints/inventory/garages.js")({client, internalAuthTokenProvider}),
|
|
87
|
+
banorteTerminals: require("./endpoints/inventory/banorte-terminals.js")({client, internalAuthTokenProvider}),
|
|
87
88
|
getnetTerminals: require("./endpoints/inventory/getnet-terminals.js")({client, internalAuthTokenProvider}),
|
|
88
89
|
giftCertificateDefinitions: require("./endpoints/inventory/gift-certificate-definitions.js")({client, internalAuthTokenProvider}),
|
|
89
90
|
healthCheck: require("./endpoints/inventory/healthcheck.js")({client, internalAuthTokenProvider}),
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
const {
|
|
2
|
+
authorizationHeaders
|
|
3
|
+
} = require("../endpoints_helpers.js");
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Query params for GET /banorte-terminals (btrz-api-inventory). See get-handler getSpec().
|
|
7
|
+
* @typedef {Object} BanorteTerminalsQuery
|
|
8
|
+
* @property {number} [page] - The page number to retrieve
|
|
9
|
+
* @property {string} [stationId] - Filter terminals by station (location) ID
|
|
10
|
+
* @property {string} [serialNumber] - Filter terminals by serial number
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Factory for banorte-terminals API (btrz-api-inventory).
|
|
15
|
+
* @param {Object} deps
|
|
16
|
+
* @param {import("axios").AxiosInstance} deps.client
|
|
17
|
+
* @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
|
|
18
|
+
* @returns {{ all: function, get: function, create: function, remove: function, update: function }}
|
|
19
|
+
*/
|
|
20
|
+
function banorteTerminalFactory({client, internalAuthTokenProvider}) {
|
|
21
|
+
/**
|
|
22
|
+
* GET /banorte-terminals - list Banorte terminals (paginated).
|
|
23
|
+
* @param {Object} opts
|
|
24
|
+
* @param {string} [opts.token] - API key
|
|
25
|
+
* @param {string} [opts.jwtToken] - JWT or internal auth symbol
|
|
26
|
+
* @param {BanorteTerminalsQuery} [opts.query] - Query params (page, stationId, serialNumber)
|
|
27
|
+
* @param {Object} [opts.headers] - Optional headers
|
|
28
|
+
* @returns {Promise<import("axios").AxiosResponse<{ banorteTerminals: Array, next?: string, previous?: string, count: number }>>}
|
|
29
|
+
* @throws When response is 4xx/5xx (400 INVALID_PAGE, 401, 500)
|
|
30
|
+
*/
|
|
31
|
+
function all({
|
|
32
|
+
token,
|
|
33
|
+
jwtToken,
|
|
34
|
+
query = {},
|
|
35
|
+
headers
|
|
36
|
+
}) {
|
|
37
|
+
return client.get("/banorte-terminals", {
|
|
38
|
+
params: query,
|
|
39
|
+
headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers})
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* GET /banorte-terminals/:banorteTerminalId - get a Banorte terminal by id.
|
|
45
|
+
* @param {Object} opts
|
|
46
|
+
* @param {string} [opts.token] - API key
|
|
47
|
+
* @param {string} [opts.jwtToken] - JWT or internal auth symbol
|
|
48
|
+
* @param {string} opts.banorteTerminalId - Banorte terminal id (24 hex characters)
|
|
49
|
+
* @param {Object} [opts.headers] - Optional headers
|
|
50
|
+
* @returns {Promise<import("axios").AxiosResponse<{ banorteTerminal: Object }>>}
|
|
51
|
+
* @throws When response is 4xx/5xx (400 INVALID_BANORTE_TERMINAL_ID, 401, 404 BANORTE_TERMINAL_NOT_FOUND, 500)
|
|
52
|
+
*/
|
|
53
|
+
function get({
|
|
54
|
+
banorteTerminalId,
|
|
55
|
+
token,
|
|
56
|
+
jwtToken,
|
|
57
|
+
headers
|
|
58
|
+
}) {
|
|
59
|
+
return client.get(`/banorte-terminals/${banorteTerminalId}`, {
|
|
60
|
+
headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers})
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* POST /banorte-terminals - create Banorte terminal.
|
|
66
|
+
* @param {Object} opts
|
|
67
|
+
* @param {string} [opts.token] - API key
|
|
68
|
+
* @param {string} [opts.jwtToken] - JWT or internal auth symbol
|
|
69
|
+
* @param {Object} opts.banorteTerminal - Banorte terminal payload (name, serialNumber, stationId optional)
|
|
70
|
+
* @param {Object} [opts.headers] - Optional headers
|
|
71
|
+
* @returns {Promise<import("axios").AxiosResponse<{ banorteTerminal: Object }>>}
|
|
72
|
+
* @throws When response is 4xx/5xx (400 WRONG_DATA/INVALID_STATION_ID/STATION_NOT_FOUND, 401, 409 duplicate serial, 500)
|
|
73
|
+
*/
|
|
74
|
+
function create({
|
|
75
|
+
jwtToken,
|
|
76
|
+
token,
|
|
77
|
+
banorteTerminal,
|
|
78
|
+
headers
|
|
79
|
+
}) {
|
|
80
|
+
return client({
|
|
81
|
+
url: "/banorte-terminals",
|
|
82
|
+
method: "post",
|
|
83
|
+
headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers}),
|
|
84
|
+
data: {
|
|
85
|
+
banorteTerminal
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* DELETE /banorte-terminals/:banorteTerminalId - remove Banorte terminal.
|
|
92
|
+
* @param {Object} opts
|
|
93
|
+
* @param {string} [opts.token] - API key
|
|
94
|
+
* @param {string} [opts.jwtToken] - JWT or internal auth symbol
|
|
95
|
+
* @param {string} opts.banorteTerminalId - Banorte terminal id (24 hex characters)
|
|
96
|
+
* @param {Object} [opts.headers] - Optional headers
|
|
97
|
+
* @returns {Promise<import("axios").AxiosResponse<{ banorteTerminalId: string }>>}
|
|
98
|
+
* @throws When response is 4xx/5xx (400 INVALID_BANORTE_TERMINAL_ID, 401, 404 BANORTE_TERMINAL_NOT_FOUND, 500)
|
|
99
|
+
*/
|
|
100
|
+
function remove({
|
|
101
|
+
jwtToken,
|
|
102
|
+
banorteTerminalId,
|
|
103
|
+
token,
|
|
104
|
+
headers
|
|
105
|
+
}) {
|
|
106
|
+
return client({
|
|
107
|
+
url: `/banorte-terminals/${banorteTerminalId}`,
|
|
108
|
+
method: "delete",
|
|
109
|
+
headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers})
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* PUT /banorte-terminals/:banorteTerminalId - update Banorte terminal.
|
|
115
|
+
* @param {Object} opts
|
|
116
|
+
* @param {string} [opts.token] - API key
|
|
117
|
+
* @param {string} [opts.jwtToken] - JWT or internal auth symbol
|
|
118
|
+
* @param {string} opts.banorteTerminalId - Banorte terminal id (24 hex characters)
|
|
119
|
+
* @param {Object} opts.banorteTerminal - Banorte terminal payload (name, serialNumber, stationId)
|
|
120
|
+
* @param {Object} [opts.headers] - Optional headers
|
|
121
|
+
* @returns {Promise<import("axios").AxiosResponse<{ banorteTerminal: Object }>>}
|
|
122
|
+
* @throws When response is 4xx/5xx (400, 401, 404 BANORTE_TERMINAL_NOT_FOUND, 409 duplicate serial, 500)
|
|
123
|
+
*/
|
|
124
|
+
function update({
|
|
125
|
+
jwtToken,
|
|
126
|
+
token,
|
|
127
|
+
banorteTerminalId,
|
|
128
|
+
banorteTerminal,
|
|
129
|
+
headers
|
|
130
|
+
}) {
|
|
131
|
+
const _banorteTerminalId = banorteTerminalId || banorteTerminal._id;
|
|
132
|
+
|
|
133
|
+
return client({
|
|
134
|
+
url: `/banorte-terminals/${_banorteTerminalId}`,
|
|
135
|
+
method: "put",
|
|
136
|
+
headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers}),
|
|
137
|
+
data: {
|
|
138
|
+
banorteTerminal: {
|
|
139
|
+
name: banorteTerminal.name,
|
|
140
|
+
serialNumber: banorteTerminal.serialNumber,
|
|
141
|
+
stationId: banorteTerminal.stationId
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return {
|
|
148
|
+
all,
|
|
149
|
+
get,
|
|
150
|
+
create,
|
|
151
|
+
remove,
|
|
152
|
+
update
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
module.exports = banorteTerminalFactory;
|
package/test/all.test.js
CHANGED
|
@@ -95,6 +95,7 @@ require("./endpoints/inventory/filtered-trips-v2.test.js");
|
|
|
95
95
|
require("./endpoints/inventory/filtered-trips.test.js");
|
|
96
96
|
require("./endpoints/inventory/financing-costs.test.js");
|
|
97
97
|
require("./endpoints/inventory/garages.test.js");
|
|
98
|
+
require("./endpoints/inventory/banorte-terminals.test.js");
|
|
98
99
|
require("./endpoints/inventory/getnet-terminals.test.js");
|
|
99
100
|
require("./endpoints/inventory/gift-certificate-definitions.test.js");
|
|
100
101
|
require("./endpoints/inventory/holidays.test.js");
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
describe("inventory/banorte-terminals", () => {
|
|
2
|
+
const {
|
|
3
|
+
axiosMock,
|
|
4
|
+
expectRequest
|
|
5
|
+
} = require("../../test-helpers.js");
|
|
6
|
+
const api = require("../../../src/client.js").createApiClient({
|
|
7
|
+
baseURL: "http://test.com"
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
const token = "I owe you a token";
|
|
11
|
+
const jwtToken = "I owe you a JWT token";
|
|
12
|
+
|
|
13
|
+
afterEach(() => {
|
|
14
|
+
axiosMock.restore();
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it("should retrieve a list of Banorte terminals", () => {
|
|
18
|
+
const query = {page: 2};
|
|
19
|
+
|
|
20
|
+
axiosMock.onGet("/banorte-terminals", {params: query}).reply(expectRequest({
|
|
21
|
+
statusCode: 200, token, jwtToken
|
|
22
|
+
}));
|
|
23
|
+
|
|
24
|
+
return api.inventory.banorteTerminals.all({
|
|
25
|
+
jwtToken,
|
|
26
|
+
token,
|
|
27
|
+
query
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it("should retrieve an existing Banorte terminal by id", () => {
|
|
32
|
+
const banorteTerminalId = "1234123412341234";
|
|
33
|
+
|
|
34
|
+
axiosMock.onGet(`/banorte-terminals/${banorteTerminalId}`).reply(expectRequest({
|
|
35
|
+
statusCode: 200, token, jwtToken
|
|
36
|
+
}));
|
|
37
|
+
|
|
38
|
+
return api.inventory.banorteTerminals.get({
|
|
39
|
+
jwtToken,
|
|
40
|
+
token,
|
|
41
|
+
banorteTerminalId
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it("should create a new Banorte terminal", async () => {
|
|
46
|
+
const banorteTerminal = {
|
|
47
|
+
name: "New Banorte Terminal",
|
|
48
|
+
serialNumber: "Test Serial Number"
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
axiosMock.onPost("/banorte-terminals").reply(expectRequest({
|
|
52
|
+
statusCode: 200, token, jwtToken, body: {banorteTerminal}
|
|
53
|
+
}));
|
|
54
|
+
|
|
55
|
+
return api.inventory.banorteTerminals.create({
|
|
56
|
+
jwtToken,
|
|
57
|
+
token,
|
|
58
|
+
banorteTerminal
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it("should create a new Banorte terminal with stationId (location)", async () => {
|
|
63
|
+
const banorteTerminal = {
|
|
64
|
+
name: "Banorte Terminal at Station",
|
|
65
|
+
serialNumber: "SN-001",
|
|
66
|
+
stationId: "5f243d100617680712e78dd7"
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
axiosMock.onPost("/banorte-terminals").reply(expectRequest({
|
|
70
|
+
statusCode: 200, token, jwtToken, body: {banorteTerminal}
|
|
71
|
+
}));
|
|
72
|
+
|
|
73
|
+
return api.inventory.banorteTerminals.create({
|
|
74
|
+
jwtToken,
|
|
75
|
+
token,
|
|
76
|
+
banorteTerminal
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
it("should delete a Banorte terminal", () => {
|
|
81
|
+
const banorteTerminalId = "1234";
|
|
82
|
+
|
|
83
|
+
axiosMock.onDelete(`/banorte-terminals/${banorteTerminalId}`).reply(expectRequest({
|
|
84
|
+
statusCode: 200, token, jwtToken
|
|
85
|
+
}));
|
|
86
|
+
|
|
87
|
+
return api.inventory.banorteTerminals.remove({
|
|
88
|
+
jwtToken,
|
|
89
|
+
token,
|
|
90
|
+
banorteTerminalId
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
it("should update an existing Banorte terminal", async () => {
|
|
95
|
+
const banorteTerminal = {
|
|
96
|
+
_id: "terminal-id-123",
|
|
97
|
+
name: "Updated Banorte Terminal",
|
|
98
|
+
serialNumber: "Updated Serial Number"
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const banorteTerminalFieldsToUpdate = {
|
|
102
|
+
name: banorteTerminal.name,
|
|
103
|
+
serialNumber: banorteTerminal.serialNumber,
|
|
104
|
+
stationId: banorteTerminal.stationId
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
axiosMock.onPut(`/banorte-terminals/${banorteTerminal._id}`).reply(expectRequest({
|
|
108
|
+
statusCode: 200, token, jwtToken, body: {banorteTerminal: banorteTerminalFieldsToUpdate}
|
|
109
|
+
}));
|
|
110
|
+
|
|
111
|
+
return api.inventory.banorteTerminals.update({
|
|
112
|
+
jwtToken,
|
|
113
|
+
token,
|
|
114
|
+
banorteTerminal
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it("should update an existing Banorte terminal with stationId (location)", async () => {
|
|
119
|
+
const banorteTerminalId = "terminal-id-456";
|
|
120
|
+
const banorteTerminal = {
|
|
121
|
+
_id: banorteTerminalId,
|
|
122
|
+
name: "Terminal at Station",
|
|
123
|
+
serialNumber: "SN-789",
|
|
124
|
+
stationId: "5f243d100617680712e78dd7"
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
const expectedBody = {
|
|
128
|
+
banorteTerminal: {
|
|
129
|
+
name: banorteTerminal.name,
|
|
130
|
+
serialNumber: banorteTerminal.serialNumber,
|
|
131
|
+
stationId: banorteTerminal.stationId
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
axiosMock.onPut(`/banorte-terminals/${banorteTerminalId}`).reply(expectRequest({
|
|
136
|
+
statusCode: 200, token, jwtToken, body: expectedBody
|
|
137
|
+
}));
|
|
138
|
+
|
|
139
|
+
return api.inventory.banorteTerminals.update({
|
|
140
|
+
jwtToken,
|
|
141
|
+
token,
|
|
142
|
+
banorteTerminalId,
|
|
143
|
+
banorteTerminal
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
it("should update an existing Banorte terminal with empty stationId", async () => {
|
|
148
|
+
const banorteTerminal = {
|
|
149
|
+
_id: "terminal-id-999",
|
|
150
|
+
name: "Terminal No Location",
|
|
151
|
+
serialNumber: "SN-999",
|
|
152
|
+
stationId: ""
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
const expectedBody = {
|
|
156
|
+
banorteTerminal: {
|
|
157
|
+
name: banorteTerminal.name,
|
|
158
|
+
serialNumber: banorteTerminal.serialNumber,
|
|
159
|
+
stationId: ""
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
axiosMock.onPut(`/banorte-terminals/${banorteTerminal._id}`).reply(expectRequest({
|
|
164
|
+
statusCode: 200, token, jwtToken, body: expectedBody
|
|
165
|
+
}));
|
|
166
|
+
|
|
167
|
+
return api.inventory.banorteTerminals.update({
|
|
168
|
+
jwtToken,
|
|
169
|
+
token,
|
|
170
|
+
banorteTerminal
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
});
|