@labdigital/commercetools-mock 2.17.1 → 2.18.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/dist/index.cjs +4186 -3974
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +266 -413
- package/dist/index.d.ts +266 -413
- package/dist/index.js +4186 -3974
- package/dist/index.js.map +1 -1
- package/package.json +44 -46
- package/src/constants.ts +2 -2
- package/src/ctMock.test.ts +11 -11
- package/src/ctMock.ts +141 -127
- package/src/deprecation.ts +8 -0
- package/src/exceptions.ts +17 -15
- package/src/helpers.ts +32 -32
- package/src/index.test.ts +128 -128
- package/src/index.ts +3 -3
- package/src/lib/expandParser.ts +13 -13
- package/src/lib/haversine.test.ts +9 -9
- package/src/lib/haversine.ts +11 -11
- package/src/lib/masking.ts +11 -11
- package/src/lib/parser.ts +2 -2
- package/src/lib/password.ts +23 -3
- package/src/lib/predicateParser.test.ts +185 -183
- package/src/lib/predicateParser.ts +234 -234
- package/src/lib/projectionSearchFilter.test.ts +103 -101
- package/src/lib/projectionSearchFilter.ts +152 -150
- package/src/lib/proxy.ts +5 -5
- package/src/oauth/errors.ts +4 -4
- package/src/oauth/helpers.ts +6 -6
- package/src/oauth/server.test.ts +86 -86
- package/src/oauth/server.ts +158 -144
- package/src/oauth/store.ts +44 -43
- package/src/priceSelector.test.ts +35 -35
- package/src/priceSelector.ts +30 -30
- package/src/product-projection-search.ts +136 -134
- package/src/projectAPI.test.ts +7 -7
- package/src/projectAPI.ts +24 -22
- package/src/repositories/abstract.ts +168 -116
- package/src/repositories/associate-role.ts +90 -77
- package/src/repositories/attribute-group.ts +51 -40
- package/src/repositories/business-unit.ts +168 -148
- package/src/repositories/cart/actions.ts +489 -0
- package/src/repositories/cart/helpers.ts +30 -0
- package/src/repositories/cart/index.ts +180 -0
- package/src/repositories/cart-discount/actions.ts +148 -0
- package/src/repositories/cart-discount/index.ts +86 -0
- package/src/repositories/category/actions.ts +231 -0
- package/src/repositories/category/index.ts +52 -0
- package/src/repositories/channel.ts +88 -90
- package/src/repositories/custom-object.ts +46 -45
- package/src/repositories/customer/actions.ts +165 -0
- package/src/repositories/customer/index.ts +79 -0
- package/src/repositories/customer-group.ts +66 -55
- package/src/repositories/discount-code/actions.ts +149 -0
- package/src/repositories/discount-code/index.ts +50 -0
- package/src/repositories/errors.ts +10 -10
- package/src/repositories/extension.ts +64 -62
- package/src/repositories/helpers.ts +117 -118
- package/src/repositories/index.ts +80 -79
- package/src/repositories/inventory-entry/actions.ts +84 -0
- package/src/repositories/inventory-entry/index.ts +44 -0
- package/src/repositories/my-customer.ts +114 -0
- package/src/repositories/my-order.ts +8 -8
- package/src/repositories/order/actions.ts +281 -0
- package/src/repositories/{order.test.ts → order/index.test.ts} +77 -77
- package/src/repositories/order/index.ts +260 -0
- package/src/repositories/order-edit.ts +10 -23
- package/src/repositories/payment/actions.ts +305 -0
- package/src/repositories/payment/helpers.ts +17 -0
- package/src/repositories/payment/index.ts +56 -0
- package/src/repositories/product/actions.ts +943 -0
- package/src/repositories/product/helpers.ts +98 -0
- package/src/repositories/product/index.ts +130 -0
- package/src/repositories/product-discount.ts +127 -117
- package/src/repositories/product-projection.ts +56 -62
- package/src/repositories/product-selection.ts +31 -28
- package/src/repositories/product-type.ts +136 -134
- package/src/repositories/project.ts +133 -118
- package/src/repositories/quote-request.ts +7 -19
- package/src/repositories/quote.ts +7 -22
- package/src/repositories/review.ts +13 -26
- package/src/repositories/shipping-method/actions.ts +198 -0
- package/src/repositories/shipping-method/helpers.ts +10 -0
- package/src/repositories/shipping-method/index.ts +138 -0
- package/src/repositories/shopping-list/actions.ts +295 -0
- package/src/repositories/shopping-list/index.ts +122 -0
- package/src/repositories/staged-quote.ts +7 -20
- package/src/repositories/standalone-price.ts +57 -44
- package/src/repositories/state.ts +113 -68
- package/src/repositories/store.ts +106 -94
- package/src/repositories/subscription.ts +46 -22
- package/src/repositories/tax-category/actions.ts +94 -0
- package/src/repositories/tax-category/helpers.ts +8 -0
- package/src/repositories/tax-category/index.ts +25 -0
- package/src/repositories/type/actions.ts +162 -0
- package/src/repositories/type/index.ts +24 -0
- package/src/repositories/zone.ts +62 -58
- package/src/server.ts +9 -9
- package/src/services/abstract.ts +75 -72
- package/src/services/associate-roles.test.ts +27 -27
- package/src/services/associate-roles.ts +7 -7
- package/src/services/attribute-group.ts +7 -7
- package/src/services/business-units.test.ts +28 -28
- package/src/services/business-units.ts +7 -7
- package/src/services/cart-discount.test.ts +199 -199
- package/src/services/cart-discount.ts +7 -7
- package/src/services/cart.test.ts +261 -261
- package/src/services/cart.ts +22 -21
- package/src/services/category.test.ts +121 -121
- package/src/services/category.ts +7 -7
- package/src/services/channel.ts +7 -7
- package/src/services/custom-object.test.ts +130 -130
- package/src/services/custom-object.ts +34 -31
- package/src/services/customer-group.ts +7 -7
- package/src/services/customer.test.ts +205 -205
- package/src/services/customer.ts +23 -36
- package/src/services/discount-code.ts +7 -7
- package/src/services/extension.ts +7 -7
- package/src/services/index.ts +85 -81
- package/src/services/inventory-entry.test.ts +106 -106
- package/src/services/inventory-entry.ts +7 -7
- package/src/services/my-cart.test.ts +56 -56
- package/src/services/my-cart.ts +20 -20
- package/src/services/my-customer.test.ts +155 -104
- package/src/services/my-customer.ts +61 -75
- package/src/services/my-order.ts +16 -16
- package/src/services/my-payment.test.ts +40 -40
- package/src/services/my-payment.ts +7 -7
- package/src/services/my-shopping-list.ts +7 -7
- package/src/services/order.test.ts +243 -243
- package/src/services/order.ts +23 -18
- package/src/services/payment.test.ts +40 -40
- package/src/services/payment.ts +7 -7
- package/src/services/product-discount.ts +7 -7
- package/src/services/product-projection.test.ts +190 -190
- package/src/services/product-projection.ts +34 -32
- package/src/services/product-selection.test.ts +19 -19
- package/src/services/product-selection.ts +7 -7
- package/src/services/product-type.test.ts +38 -38
- package/src/services/product-type.ts +7 -7
- package/src/services/product.test.ts +658 -656
- package/src/services/product.ts +7 -7
- package/src/services/project.test.ts +24 -24
- package/src/services/project.ts +17 -17
- package/src/services/reviews.ts +7 -7
- package/src/services/shipping-method.test.ts +78 -78
- package/src/services/shipping-method.ts +16 -16
- package/src/services/shopping-list.test.ts +170 -170
- package/src/services/shopping-list.ts +7 -7
- package/src/services/standalone-price.test.ts +112 -112
- package/src/services/standalone-price.ts +7 -7
- package/src/services/state.test.ts +30 -30
- package/src/services/state.ts +7 -7
- package/src/services/store.test.ts +40 -40
- package/src/services/store.ts +7 -7
- package/src/services/subscription.ts +7 -7
- package/src/services/tax-category.test.ts +43 -43
- package/src/services/tax-category.ts +7 -7
- package/src/services/type.ts +7 -7
- package/src/services/zone.ts +7 -7
- package/src/shippingCalculator.test.ts +43 -43
- package/src/shippingCalculator.ts +23 -23
- package/src/storage/abstract.ts +36 -34
- package/src/storage/in-memory.ts +237 -233
- package/src/storage/index.ts +2 -2
- package/src/types.ts +91 -91
- package/src/repositories/cart-discount.ts +0 -219
- package/src/repositories/cart.ts +0 -659
- package/src/repositories/category.ts +0 -256
- package/src/repositories/customer.ts +0 -228
- package/src/repositories/discount-code.ts +0 -181
- package/src/repositories/inventory-entry.ts +0 -109
- package/src/repositories/order.ts +0 -514
- package/src/repositories/payment.ts +0 -342
- package/src/repositories/product.ts +0 -1106
- package/src/repositories/shipping-method.ts +0 -312
- package/src/repositories/shopping-list.ts +0 -392
- package/src/repositories/tax-category.ts +0 -111
- package/src/repositories/type.ts +0 -172
|
@@ -1,139 +1,125 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
Customer,
|
|
8
|
-
Update,
|
|
9
|
-
InvalidCurrentPasswordError,
|
|
10
|
-
} from '@commercetools/platform-sdk'
|
|
1
|
+
import { Update } from "@commercetools/platform-sdk";
|
|
2
|
+
import { Request, Response, Router } from "express";
|
|
3
|
+
import { hashPassword } from "../lib/password";
|
|
4
|
+
import { getRepositoryContext } from "../repositories/helpers";
|
|
5
|
+
import { MyCustomerRepository } from "../repositories/my-customer";
|
|
6
|
+
import AbstractService from "./abstract";
|
|
11
7
|
|
|
12
8
|
export class MyCustomerService extends AbstractService {
|
|
13
|
-
public repository:
|
|
9
|
+
public repository: MyCustomerRepository;
|
|
14
10
|
|
|
15
|
-
constructor(parent: Router, repository:
|
|
16
|
-
super(parent)
|
|
17
|
-
this.repository = repository
|
|
11
|
+
constructor(parent: Router, repository: MyCustomerRepository) {
|
|
12
|
+
super(parent);
|
|
13
|
+
this.repository = repository;
|
|
18
14
|
}
|
|
19
15
|
|
|
20
16
|
getBasePath() {
|
|
21
|
-
return
|
|
17
|
+
return "me";
|
|
22
18
|
}
|
|
23
19
|
|
|
24
20
|
registerRoutes(parent: Router) {
|
|
25
21
|
// Overwrite this function to be able to handle /me path.
|
|
26
|
-
const basePath = this.getBasePath()
|
|
27
|
-
const router = Router({ mergeParams: true })
|
|
22
|
+
const basePath = this.getBasePath();
|
|
23
|
+
const router = Router({ mergeParams: true });
|
|
28
24
|
|
|
29
|
-
this.extraRoutes(router)
|
|
25
|
+
this.extraRoutes(router);
|
|
30
26
|
|
|
31
|
-
router.get(
|
|
32
|
-
router.post(
|
|
33
|
-
router.delete(
|
|
27
|
+
router.get("", this.getMe.bind(this));
|
|
28
|
+
router.post("", this.updateMe.bind(this));
|
|
29
|
+
router.delete("", this.deleteMe.bind(this));
|
|
34
30
|
|
|
35
|
-
router.post(
|
|
31
|
+
router.post("/signup", this.signUp.bind(this));
|
|
36
32
|
|
|
37
|
-
router.post(
|
|
38
|
-
router.post(
|
|
33
|
+
router.post("/login", this.signIn.bind(this));
|
|
34
|
+
router.post("/password", this.changePassword.bind(this));
|
|
35
|
+
router.post("/password/reset", this.resetPassword.bind(this));
|
|
39
36
|
|
|
40
|
-
parent.use(`/${basePath}`, router)
|
|
37
|
+
parent.use(`/${basePath}`, router);
|
|
41
38
|
}
|
|
42
39
|
|
|
43
40
|
getMe(request: Request, response: Response) {
|
|
44
|
-
const resource = this.repository.getMe(getRepositoryContext(request))
|
|
41
|
+
const resource = this.repository.getMe(getRepositoryContext(request));
|
|
45
42
|
if (!resource) {
|
|
46
|
-
return response.status(404).send(
|
|
43
|
+
return response.status(404).send("Not found");
|
|
47
44
|
}
|
|
48
|
-
return response.status(200).send(resource)
|
|
45
|
+
return response.status(200).send(resource);
|
|
49
46
|
}
|
|
50
47
|
|
|
51
48
|
updateMe(request: Request, response: Response) {
|
|
52
|
-
const resource = this.repository.getMe(getRepositoryContext(request))
|
|
49
|
+
const resource = this.repository.getMe(getRepositoryContext(request));
|
|
53
50
|
|
|
54
51
|
if (!resource) {
|
|
55
|
-
return response.status(404).send(
|
|
52
|
+
return response.status(404).send("Not found");
|
|
56
53
|
}
|
|
57
|
-
const updateRequest: Update = request.body
|
|
54
|
+
const updateRequest: Update = request.body;
|
|
58
55
|
const updatedResource = this.repository.processUpdateActions(
|
|
59
56
|
getRepositoryContext(request),
|
|
60
57
|
resource,
|
|
61
58
|
updateRequest.version,
|
|
62
|
-
updateRequest.actions
|
|
63
|
-
)
|
|
59
|
+
updateRequest.actions,
|
|
60
|
+
);
|
|
64
61
|
|
|
65
|
-
const result = this._expandWithId(request, updatedResource.id)
|
|
66
|
-
return response.status(200).send(result)
|
|
62
|
+
const result = this._expandWithId(request, updatedResource.id);
|
|
63
|
+
return response.status(200).send(result);
|
|
67
64
|
}
|
|
65
|
+
|
|
68
66
|
deleteMe(request: Request, response: Response) {
|
|
69
|
-
const resource = this.repository.deleteMe(getRepositoryContext(request))
|
|
67
|
+
const resource = this.repository.deleteMe(getRepositoryContext(request));
|
|
70
68
|
if (!resource) {
|
|
71
|
-
return response.status(404).send(
|
|
69
|
+
return response.status(404).send("Not found");
|
|
72
70
|
}
|
|
73
71
|
|
|
74
|
-
return response.status(200).send(resource)
|
|
72
|
+
return response.status(200).send(resource);
|
|
75
73
|
}
|
|
76
74
|
|
|
77
75
|
signUp(request: Request, response: Response) {
|
|
78
|
-
const draft = request.body
|
|
76
|
+
const draft = request.body;
|
|
79
77
|
const resource = this.repository.create(
|
|
80
78
|
getRepositoryContext(request),
|
|
81
|
-
draft
|
|
82
|
-
)
|
|
83
|
-
const result = this._expandWithId(request, resource.id)
|
|
84
|
-
return response.status(this.createStatusCode).send({ customer: result })
|
|
79
|
+
draft,
|
|
80
|
+
);
|
|
81
|
+
const result = this._expandWithId(request, resource.id);
|
|
82
|
+
return response.status(this.createStatusCode).send({ customer: result });
|
|
85
83
|
}
|
|
86
84
|
|
|
87
85
|
changePassword(request: Request, response: Response) {
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
where: [`password = "${encodedPassword}"`],
|
|
93
|
-
})
|
|
94
|
-
|
|
95
|
-
if (result.count === 0) {
|
|
96
|
-
return response.status(404).send({
|
|
97
|
-
message: 'Account with the given credentials not found.',
|
|
98
|
-
errors: [
|
|
99
|
-
{
|
|
100
|
-
code: 'InvalidCurrentPassword',
|
|
101
|
-
message: 'Account with the given credentials not found.',
|
|
102
|
-
} as InvalidCurrentPasswordError,
|
|
103
|
-
],
|
|
104
|
-
})
|
|
105
|
-
}
|
|
86
|
+
const customer = this.repository.changePassword(
|
|
87
|
+
getRepositoryContext(request),
|
|
88
|
+
request.body,
|
|
89
|
+
);
|
|
106
90
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
password: hashPassword(newPassword),
|
|
110
|
-
}
|
|
91
|
+
return response.status(200).send(customer);
|
|
92
|
+
}
|
|
111
93
|
|
|
112
|
-
|
|
94
|
+
resetPassword(request: Request, response: Response) {
|
|
95
|
+
const customer = this.repository.resetPassword(
|
|
96
|
+
getRepositoryContext(request),
|
|
97
|
+
request.body,
|
|
98
|
+
);
|
|
113
99
|
|
|
114
|
-
return response.status(200).send(
|
|
100
|
+
return response.status(200).send(customer);
|
|
115
101
|
}
|
|
116
102
|
|
|
117
103
|
signIn(request: Request, response: Response) {
|
|
118
|
-
const { email, password } = request.body
|
|
119
|
-
const encodedPassword = hashPassword(password)
|
|
104
|
+
const { email, password } = request.body;
|
|
105
|
+
const encodedPassword = hashPassword(password);
|
|
120
106
|
|
|
121
107
|
const result = this.repository.query(getRepositoryContext(request), {
|
|
122
108
|
where: [`email = "${email}"`, `password = "${encodedPassword}"`],
|
|
123
|
-
})
|
|
109
|
+
});
|
|
124
110
|
|
|
125
111
|
if (result.count === 0) {
|
|
126
112
|
return response.status(400).send({
|
|
127
|
-
message:
|
|
113
|
+
message: "Account with the given credentials not found.",
|
|
128
114
|
errors: [
|
|
129
115
|
{
|
|
130
|
-
code:
|
|
131
|
-
message:
|
|
116
|
+
code: "InvalidCredentials",
|
|
117
|
+
message: "Account with the given credentials not found.",
|
|
132
118
|
},
|
|
133
119
|
],
|
|
134
|
-
})
|
|
120
|
+
});
|
|
135
121
|
}
|
|
136
122
|
|
|
137
|
-
return response.status(200).send({ customer: result.results[0] })
|
|
123
|
+
return response.status(200).send({ customer: result.results[0] });
|
|
138
124
|
}
|
|
139
125
|
}
|
package/src/services/my-order.ts
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { Router } from
|
|
2
|
-
import { MyOrderRepository } from
|
|
3
|
-
import AbstractService from
|
|
1
|
+
import { Router } from "express";
|
|
2
|
+
import { MyOrderRepository } from "../repositories/my-order";
|
|
3
|
+
import AbstractService from "./abstract";
|
|
4
4
|
|
|
5
5
|
export class MyOrderService extends AbstractService {
|
|
6
|
-
public repository: MyOrderRepository
|
|
6
|
+
public repository: MyOrderRepository;
|
|
7
7
|
|
|
8
8
|
constructor(parent: Router, repository: MyOrderRepository) {
|
|
9
|
-
super(parent)
|
|
10
|
-
this.repository = repository
|
|
9
|
+
super(parent);
|
|
10
|
+
this.repository = repository;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
getBasePath() {
|
|
14
|
-
return
|
|
14
|
+
return "me";
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
registerRoutes(parent: Router) {
|
|
18
18
|
// Overwrite this function to be able to handle /me/active-cart path.
|
|
19
|
-
const basePath = this.getBasePath()
|
|
20
|
-
const router = Router({ mergeParams: true })
|
|
19
|
+
const basePath = this.getBasePath();
|
|
20
|
+
const router = Router({ mergeParams: true });
|
|
21
21
|
|
|
22
|
-
this.extraRoutes(router)
|
|
22
|
+
this.extraRoutes(router);
|
|
23
23
|
|
|
24
|
-
router.get(
|
|
25
|
-
router.get(
|
|
24
|
+
router.get("/orders/", this.get.bind(this));
|
|
25
|
+
router.get("/orders/:id", this.getWithId.bind(this));
|
|
26
26
|
|
|
27
|
-
router.delete(
|
|
27
|
+
router.delete("/orders/:id", this.deleteWithId.bind(this));
|
|
28
28
|
|
|
29
|
-
router.post(
|
|
30
|
-
router.post(
|
|
29
|
+
router.post("/orders/", this.post.bind(this));
|
|
30
|
+
router.post("/orders/:id", this.postWithId.bind(this));
|
|
31
31
|
|
|
32
|
-
parent.use(`/${basePath}`, router)
|
|
32
|
+
parent.use(`/${basePath}`, router);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
import type { MyPaymentDraft } from
|
|
2
|
-
import supertest from
|
|
3
|
-
import { beforeEach, describe, expect, test } from
|
|
4
|
-
import { CommercetoolsMock } from
|
|
1
|
+
import type { MyPaymentDraft } from "@commercetools/platform-sdk";
|
|
2
|
+
import supertest from "supertest";
|
|
3
|
+
import { beforeEach, describe, expect, test } from "vitest";
|
|
4
|
+
import { CommercetoolsMock } from "../index";
|
|
5
5
|
|
|
6
|
-
const ctMock = new CommercetoolsMock()
|
|
6
|
+
const ctMock = new CommercetoolsMock();
|
|
7
7
|
|
|
8
|
-
describe(
|
|
8
|
+
describe("MyPayment", () => {
|
|
9
9
|
beforeEach(async () => {
|
|
10
10
|
const response = await supertest(ctMock.app)
|
|
11
|
-
.post(
|
|
11
|
+
.post("/dummy/types")
|
|
12
12
|
.send({
|
|
13
|
-
key:
|
|
13
|
+
key: "custom-payment",
|
|
14
14
|
name: {
|
|
15
|
-
|
|
15
|
+
"nl-NL": "custom-payment",
|
|
16
16
|
},
|
|
17
|
-
resourceTypeIds: [
|
|
18
|
-
})
|
|
19
|
-
expect(response.status).toBe(201)
|
|
20
|
-
})
|
|
17
|
+
resourceTypeIds: ["payment"],
|
|
18
|
+
});
|
|
19
|
+
expect(response.status).toBe(201);
|
|
20
|
+
});
|
|
21
21
|
|
|
22
|
-
test(
|
|
22
|
+
test("Create payment", async () => {
|
|
23
23
|
const draft: MyPaymentDraft = {
|
|
24
|
-
amountPlanned: { currencyCode:
|
|
24
|
+
amountPlanned: { currencyCode: "EUR", centAmount: 1337 },
|
|
25
25
|
custom: {
|
|
26
|
-
type: { typeId:
|
|
26
|
+
type: { typeId: "type", key: "custom-payment" },
|
|
27
27
|
fields: {
|
|
28
|
-
foo:
|
|
28
|
+
foo: "bar",
|
|
29
29
|
},
|
|
30
30
|
},
|
|
31
|
-
}
|
|
31
|
+
};
|
|
32
32
|
const response = await supertest(ctMock.app)
|
|
33
|
-
.post(
|
|
34
|
-
.send(draft)
|
|
33
|
+
.post("/dummy/me/payments")
|
|
34
|
+
.send(draft);
|
|
35
35
|
|
|
36
|
-
expect(response.status).toBe(201)
|
|
36
|
+
expect(response.status).toBe(201);
|
|
37
37
|
expect(response.body).toEqual({
|
|
38
38
|
id: expect.anything(),
|
|
39
39
|
createdAt: expect.anything(),
|
|
40
40
|
lastModifiedAt: expect.anything(),
|
|
41
41
|
version: 1,
|
|
42
42
|
amountPlanned: {
|
|
43
|
-
type:
|
|
43
|
+
type: "centPrecision",
|
|
44
44
|
fractionDigits: 2,
|
|
45
|
-
currencyCode:
|
|
45
|
+
currencyCode: "EUR",
|
|
46
46
|
centAmount: 1337,
|
|
47
47
|
},
|
|
48
48
|
paymentStatus: {},
|
|
49
49
|
transactions: [],
|
|
50
50
|
interfaceInteractions: [],
|
|
51
51
|
custom: {
|
|
52
|
-
type: { typeId:
|
|
53
|
-
fields: { foo:
|
|
52
|
+
type: { typeId: "type", id: expect.anything() },
|
|
53
|
+
fields: { foo: "bar" },
|
|
54
54
|
},
|
|
55
|
-
})
|
|
56
|
-
})
|
|
57
|
-
test(
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
test("Get payment", async () => {
|
|
58
58
|
const draft: MyPaymentDraft = {
|
|
59
|
-
amountPlanned: { currencyCode:
|
|
59
|
+
amountPlanned: { currencyCode: "EUR", centAmount: 1337 },
|
|
60
60
|
custom: {
|
|
61
|
-
type: { typeId:
|
|
61
|
+
type: { typeId: "type", key: "custom-payment" },
|
|
62
62
|
fields: {
|
|
63
|
-
foo:
|
|
63
|
+
foo: "bar",
|
|
64
64
|
},
|
|
65
65
|
},
|
|
66
|
-
}
|
|
66
|
+
};
|
|
67
67
|
const createResponse = await supertest(ctMock.app)
|
|
68
|
-
.post(
|
|
69
|
-
.send(draft)
|
|
68
|
+
.post("/dummy/me/payments")
|
|
69
|
+
.send(draft);
|
|
70
70
|
|
|
71
71
|
const response = await supertest(ctMock.app).get(
|
|
72
|
-
`/dummy/me/payments/${createResponse.body.id}
|
|
73
|
-
)
|
|
72
|
+
`/dummy/me/payments/${createResponse.body.id}`,
|
|
73
|
+
);
|
|
74
74
|
|
|
75
|
-
expect(response.status).toBe(200)
|
|
76
|
-
expect(response.body).toEqual(createResponse.body)
|
|
77
|
-
})
|
|
78
|
-
})
|
|
75
|
+
expect(response.status).toBe(200);
|
|
76
|
+
expect(response.body).toEqual(createResponse.body);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { Router } from
|
|
2
|
-
import { PaymentRepository } from
|
|
3
|
-
import AbstractService from
|
|
1
|
+
import { Router } from "express";
|
|
2
|
+
import { PaymentRepository } from "../repositories/payment";
|
|
3
|
+
import AbstractService from "./abstract";
|
|
4
4
|
|
|
5
5
|
export class MyPaymentService extends AbstractService {
|
|
6
|
-
public repository: PaymentRepository
|
|
6
|
+
public repository: PaymentRepository;
|
|
7
7
|
|
|
8
8
|
constructor(parent: Router, repository: PaymentRepository) {
|
|
9
|
-
super(parent)
|
|
10
|
-
this.repository = repository
|
|
9
|
+
super(parent);
|
|
10
|
+
this.repository = repository;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
getBasePath() {
|
|
14
|
-
return
|
|
14
|
+
return "me/payments";
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { Router } from
|
|
2
|
-
import { ShoppingListRepository } from
|
|
3
|
-
import AbstractService from
|
|
1
|
+
import { Router } from "express";
|
|
2
|
+
import { ShoppingListRepository } from "../repositories/shopping-list";
|
|
3
|
+
import AbstractService from "./abstract";
|
|
4
4
|
|
|
5
5
|
export class MyShoppingListService extends AbstractService {
|
|
6
|
-
public repository: ShoppingListRepository
|
|
6
|
+
public repository: ShoppingListRepository;
|
|
7
7
|
|
|
8
8
|
constructor(parent: Router, repository: ShoppingListRepository) {
|
|
9
|
-
super(parent)
|
|
10
|
-
this.repository = repository
|
|
9
|
+
super(parent);
|
|
10
|
+
this.repository = repository;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
getBasePath() {
|
|
14
|
-
return
|
|
14
|
+
return "me/shopping-lists";
|
|
15
15
|
}
|
|
16
16
|
}
|