Skip to content

Commit a48dfb4

Browse files
committed
fix: combined payments tests
1 parent 7f415ce commit a48dfb4

File tree

3 files changed

+38
-9
lines changed

3 files changed

+38
-9
lines changed

packages/backend/src/open_payments/payment/combined/service.test.ts

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import { IocContract } from '@adonisjs/fold'
2+
import { faker } from '@faker-js/faker'
3+
import { v4 as uuid } from 'uuid'
24
import { AppServices } from '../../../app'
35
import { TestContainer, createTestApp } from '../../../tests/app'
46
import { initIocContainer } from '../../..'
@@ -21,6 +23,10 @@ import {
2123
createCombinedPayment,
2224
toCombinedPayment
2325
} from '../../../tests/combinedPayment'
26+
import { createTenant } from '../../../tests/tenant'
27+
import { EndpointType } from '../../../tenant/endpoints/model'
28+
29+
const nock = (global as unknown as { nock: typeof import('nock') }).nock
2430

2531
describe('Combined Payment Service', (): void => {
2632
let deps: IocContract<AppServices>
@@ -42,10 +48,27 @@ describe('Combined Payment Service', (): void => {
4248
beforeEach(async (): Promise<void> => {
4349
sendAsset = await createAsset(deps)
4450
receiveAsset = await createAsset(deps)
51+
const config = await deps.use('config')
52+
const tenantEmail = faker.internet.email()
53+
nock(config.kratosAdminUrl)
54+
.get('/identities')
55+
.query({ credentials_identifier: tenantEmail })
56+
.reply(200, [{ id: uuid(), metadata_public: {} }])
57+
.persist()
58+
const tenantId = (
59+
await createTenant(deps, {
60+
email: tenantEmail,
61+
idpSecret: 'testsecret',
62+
idpConsentEndpoint: faker.internet.url(),
63+
endpoints: [
64+
{ type: EndpointType.WebhookBaseUrl, value: faker.internet.url() }
65+
]
66+
})
67+
).id
4568
sendWalletAddressId = (
46-
await createWalletAddress(deps, { assetId: sendAsset.id })
69+
await createWalletAddress(deps, tenantId, { assetId: sendAsset.id })
4770
).id
48-
receiveWalletAddress = await createWalletAddress(deps, {
71+
receiveWalletAddress = await createWalletAddress(deps, tenantId, {
4972
assetId: receiveAsset.id
5073
})
5174
})
@@ -60,12 +83,14 @@ describe('Combined Payment Service', (): void => {
6083

6184
async function setupPayments(deps: IocContract<AppServices>) {
6285
const incomingPayment = await createIncomingPayment(deps, {
63-
walletAddressId: receiveWalletAddress.id
86+
walletAddressId: receiveWalletAddress.id,
87+
tenantId: receiveWalletAddress.tenantId
6488
})
6589
const receiverUrl = incomingPayment.getUrl(receiveWalletAddress)
6690

6791
const outgoingPayment = await createOutgoingPayment(deps, {
6892
walletAddressId: sendWalletAddressId,
93+
tenantId: receiveWalletAddress.tenantId,
6994
method: 'ilp',
7095
receiver: receiverUrl,
7196
debitAmount: {
@@ -84,7 +109,8 @@ describe('Combined Payment Service', (): void => {
84109

85110
describe('CombinedPayment Service', (): void => {
86111
getPageTests({
87-
createModel: () => createCombinedPayment(deps),
112+
createModel: () =>
113+
createCombinedPayment(deps, receiveWalletAddress.tenantId),
88114
getPage: (pagination?: Pagination, sortOrder?: SortOrder) =>
89115
combinedPaymentService.getPage({ pagination, sortOrder })
90116
})

packages/backend/src/tests/combinedPayment.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,25 +35,28 @@ export function toCombinedPayment(
3535
* @returns A CombinedPayment object that represents the created payment.
3636
*/
3737
export async function createCombinedPayment(
38-
deps: IocContract<AppServices>
38+
deps: IocContract<AppServices>,
39+
tenantId: string
3940
): Promise<CombinedPayment> {
4041
const sendAsset = await createAsset(deps)
4142
const receiveAsset = await createAsset(deps)
4243
const sendWalletAddressId = (
43-
await createWalletAddress(deps, { assetId: sendAsset.id })
44+
await createWalletAddress(deps, tenantId, { assetId: sendAsset.id })
4445
).id
45-
const receiveWalletAddress = await createWalletAddress(deps, {
46+
const receiveWalletAddress = await createWalletAddress(deps, tenantId, {
4647
assetId: receiveAsset.id
4748
})
4849

4950
const type = Math.random() < 0.5 ? PaymentType.Incoming : PaymentType.Outgoing
5051
const payment =
5152
type === PaymentType.Incoming
5253
? await createIncomingPayment(deps, {
53-
walletAddressId: receiveWalletAddress.id
54+
walletAddressId: receiveWalletAddress.id,
55+
tenantId: receiveWalletAddress.tenantId
5456
})
5557
: await createOutgoingPayment(deps, {
5658
walletAddressId: sendWalletAddressId,
59+
tenantId,
5760
method: 'ilp',
5861
receiver: `${Config.openPaymentsUrl}/${uuid()}`,
5962
validDestination: false

packages/backend/src/tests/outgoingPayment.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ export async function createOutgoingPaymentWithReceiver(
136136
walletAddressId: args.sendingWalletAddress.id,
137137
method: args.method,
138138
receiver: receiver.incomingPayment!.id!,
139-
tenantId: args.sendingWalletAddress.tenantId,
139+
tenantId: args.receivingWalletAddress.tenantId,
140140
...args.quoteOptions
141141
})
142142

0 commit comments

Comments
 (0)