65 lines
2.2 KiB
TypeScript
65 lines
2.2 KiB
TypeScript
import { expect, expectAsync, tap } from '@pushrocks/tapbundle';
|
|
import * as qenv from '@pushrocks/qenv';
|
|
|
|
const testQenv = new qenv.Qenv('./', './.nogit/');
|
|
|
|
import * as tink from '../ts/index.js';
|
|
|
|
let tinkTestAccount: tink.TinkAccount;
|
|
|
|
tap.test('should create a valid tink account', async () => {
|
|
tinkTestAccount = new tink.TinkAccount(
|
|
testQenv.getEnvVarOnDemand('TINK_CLIENT_ID'),
|
|
testQenv.getEnvVarOnDemand('TINK_CLIENT_SECRET')
|
|
);
|
|
expect(tinkTestAccount).toBeInstanceOf(tink.TinkAccount);
|
|
});
|
|
|
|
tap.test('should report tink as healthy', async () => {
|
|
await expectAsync(tinkTestAccount.getTinkHealthyBoolean()).toBeTrue();
|
|
});
|
|
|
|
tap.test('should create a tink user', async (toolsArg) => {
|
|
await tinkTestAccount.createTinkUser('user_1234_abc');
|
|
})
|
|
|
|
tap.test('should create a valid request', async (toolsArg) => {
|
|
const tinkuser: tink.TinkUser = await tinkTestAccount.getTinkUser('user_1234_abc');
|
|
console.log(tinkuser);
|
|
console.log(await tinkuser.getTinkLinkForMarket()); // defaults to 'DE';
|
|
console.log(await tinkuser.getProviderConsents());
|
|
});
|
|
|
|
tap.test('allow tink link to be used', async (toolsArg) => {
|
|
await toolsArg.delayFor(30000);
|
|
});
|
|
|
|
tap.test('get provider consents', async () => {
|
|
const tinkuser: tink.TinkUser = await tinkTestAccount.getTinkUser('user_1234_abc');
|
|
const providerConsents = await tinkuser.getProviderConsents();
|
|
console.log(providerConsents);
|
|
});
|
|
|
|
tap.test('get bankaccounts', async (toolsArg) => {
|
|
const tinkuser: tink.TinkUser = await tinkTestAccount.getTinkUser('user_1234_abc');
|
|
const bankAccounts = await tinkuser.getAllBankAccounts();
|
|
console.log(bankAccounts.map(bankAccountArg => bankAccountArg.getNormalizedData()));
|
|
|
|
for (const bankAccount of bankAccounts) {
|
|
const transactions = await bankAccount.getTransactions();
|
|
for (const transaction of transactions) {
|
|
console.log(`=======================`)
|
|
console.log(JSON.stringify(transaction.getNormalizedData()));
|
|
}
|
|
await toolsArg.delayFor(10000);
|
|
}
|
|
});
|
|
|
|
tap.test('should delete existing users', async () => {
|
|
expect(tinkTestAccount).toBeInstanceOf(tink.TinkAccount);
|
|
const tinkUser = new tink.TinkUser(tinkTestAccount, null, 'user_1234_abc');
|
|
await tinkUser.delete();
|
|
});
|
|
|
|
tap.start();
|