Skip to content

Commit

Permalink
tx manager test refacto
Browse files Browse the repository at this point in the history
  • Loading branch information
banklesss committed Feb 7, 2023
1 parent fdb705a commit 32f0bfa
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 267 deletions.
@@ -1,220 +1,13 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`transaction manager gets updated tx cache values 1`] = `
Object {
"0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc": Object {
"blockHash": "fb418acaa29c66e799a16b594f7beedfe2ef53413e9863b61a418f2df1ff1442",
"blockNum": 2909238,
"certificates": Array [
Object {
"kind": "StakeDeregistration",
"rewardAddress": "e0acab7e493ece4c1e6ae627ef9f5f7c9b1063e599e4aa91f87f0d58ae",
},
],
"collateralInputs": Array [],
"epoch": 156,
"fee": "179537",
"id": "0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc",
"inputs": Array [
Object {
"address": "addr_test1qrrdv3uxj8shu27ea9djvnn3rl4w3lvh3cyck6yc36mvf6ctlqxj9g0azvpycncr9u600p6t556qhc3psk06uzzw6saq4kvdpq",
"amount": "967141533",
"assets": Array [
Object {
"amount": "1",
"assetId": "57e37bc9a9c0a099a6636c3deb93b82e7edec8a9a40883017bae2674.717171717171",
"name": "717171717171",
"policyId": "57e37bc9a9c0a099a6636c3deb93b82e7edec8a9a40883017bae2674",
},
Object {
"amount": "1",
"assetId": "fc53320cfda5add9cde1e7094c73596eacc26dbe79834b67c14b5dad.656565656565",
"name": "656565656565",
"policyId": "fc53320cfda5add9cde1e7094c73596eacc26dbe79834b67c14b5dad",
},
],
},
Object {
"address": "addr_test1qqgxd3r59psq0dg33t7asmvjmtu55tvvcmeq5kmhj0tmqjctlqxj9g0azvpycncr9u600p6t556qhc3psk06uzzw6saqk4x7z6",
"amount": "2000000",
"assets": Array [
Object {
"amount": "1",
"assetId": "0b71c073fcf017eeff0664070c790a2bcc47077566904be471c46c13.727272727272",
"name": "727272727272",
"policyId": "0b71c073fcf017eeff0664070c790a2bcc47077566904be471c46c13",
},
],
},
],
"lastUpdatedAt": "2021-09-13T18:42:10.000Z",
"memo": null,
"outputs": Array [
Object {
"address": "addr_test1qrxlnftwl73taxvcapnhgctae895l582a6r7k7jjeuwvzp0rvvww4m29k4km54utxag3mlhdsr73m62rsae6ad3hj6kqcexkh8",
"amount": "7305977",
"assets": Array [],
},
Object {
"address": "addr_test1qrqzse20fh7mmt5k9xf4sug3a2lh5fa7x9nr98avp0ac78stlqxj9g0azvpycncr9u600p6t556qhc3psk06uzzw6saq6xr7ra",
"amount": "961656019",
"assets": Array [
Object {
"amount": "1",
"assetId": "0b71c073fcf017eeff0664070c790a2bcc47077566904be471c46c13.727272727272",
"name": "727272727272",
"policyId": "0b71c073fcf017eeff0664070c790a2bcc47077566904be471c46c13",
},
Object {
"amount": "1",
"assetId": "57e37bc9a9c0a099a6636c3deb93b82e7edec8a9a40883017bae2674.717171717171",
"name": "717171717171",
"policyId": "57e37bc9a9c0a099a6636c3deb93b82e7edec8a9a40883017bae2674",
},
Object {
"amount": "1",
"assetId": "fc53320cfda5add9cde1e7094c73596eacc26dbe79834b67c14b5dad.656565656565",
"name": "656565656565",
"policyId": "fc53320cfda5add9cde1e7094c73596eacc26dbe79834b67c14b5dad",
},
],
},
],
"scriptSize": 0,
"slot": 166914,
"status": "Successful",
"submittedAt": "2021-09-13T18:42:10.000Z",
"txOrdinal": 0,
"type": "shelley",
"validContract": true,
"withdrawals": Array [],
},
}
`;
exports[`transaction manager New schema: Empty storage, Sync, Memo 1`] = `Object {}`;

exports[`transaction manager gets updated tx cache values 2`] = `
Object {
"addr_test1qqgxd3r59psq0dg33t7asmvjmtu55tvvcmeq5kmhj0tmqjctlqxj9g0azvpycncr9u600p6t556qhc3psk06uzzw6saqk4x7z6": Array [
"0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc",
],
"addr_test1qrqzse20fh7mmt5k9xf4sug3a2lh5fa7x9nr98avp0ac78stlqxj9g0azvpycncr9u600p6t556qhc3psk06uzzw6saq6xr7ra": Array [
"0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc",
],
"addr_test1qrrdv3uxj8shu27ea9djvnn3rl4w3lvh3cyck6yc36mvf6ctlqxj9g0azvpycncr9u600p6t556qhc3psk06uzzw6saq4kvdpq": Array [
"0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc",
],
"addr_test1qrxlnftwl73taxvcapnhgctae895l582a6r7k7jjeuwvzp0rvvww4m29k4km54utxag3mlhdsr73m62rsae6ad3hj6kqcexkh8": Array [
"0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc",
],
}
`;
exports[`transaction manager New schema: Empty storage, Sync, Memo 2`] = `Object {}`;

exports[`transaction manager gets updated tx cache values 3`] = `
Object {
"e0acab7e493ece4c1e6ae627ef9f5f7c9b1063e599e4aa91f87f0d58ae": Object {
"0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc": Object {
"certificates": Array [
Object {
"kind": "StakeDeregistration",
"rewardAddress": "e0acab7e493ece4c1e6ae627ef9f5f7c9b1063e599e4aa91f87f0d58ae",
},
],
"epoch": 156,
"submittedAt": "2021-09-13T18:42:10.000Z",
},
},
}
`;
exports[`transaction manager New schema: Empty storage, Sync, Memo 3`] = `Object {}`;

exports[`transaction manager gets updated tx cache values 4`] = `
exports[`transaction manager New schema: Empty storage, Sync, Memo 4`] = `
Object {
"0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc": Object {
"blockHash": "fb418acaa29c66e799a16b594f7beedfe2ef53413e9863b61a418f2df1ff1442",
"blockNum": 2909238,
"certificates": Array [
Object {
"kind": "StakeDeregistration",
"rewardAddress": "e0acab7e493ece4c1e6ae627ef9f5f7c9b1063e599e4aa91f87f0d58ae",
},
],
"collateralInputs": Array [],
"epoch": 156,
"fee": "179537",
"id": "0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc",
"inputs": Array [
Object {
"address": "addr_test1qrrdv3uxj8shu27ea9djvnn3rl4w3lvh3cyck6yc36mvf6ctlqxj9g0azvpycncr9u600p6t556qhc3psk06uzzw6saq4kvdpq",
"amount": "967141533",
"assets": Array [
Object {
"amount": "1",
"assetId": "57e37bc9a9c0a099a6636c3deb93b82e7edec8a9a40883017bae2674.717171717171",
"name": "717171717171",
"policyId": "57e37bc9a9c0a099a6636c3deb93b82e7edec8a9a40883017bae2674",
},
Object {
"amount": "1",
"assetId": "fc53320cfda5add9cde1e7094c73596eacc26dbe79834b67c14b5dad.656565656565",
"name": "656565656565",
"policyId": "fc53320cfda5add9cde1e7094c73596eacc26dbe79834b67c14b5dad",
},
],
},
Object {
"address": "addr_test1qqgxd3r59psq0dg33t7asmvjmtu55tvvcmeq5kmhj0tmqjctlqxj9g0azvpycncr9u600p6t556qhc3psk06uzzw6saqk4x7z6",
"amount": "2000000",
"assets": Array [
Object {
"amount": "1",
"assetId": "0b71c073fcf017eeff0664070c790a2bcc47077566904be471c46c13.727272727272",
"name": "727272727272",
"policyId": "0b71c073fcf017eeff0664070c790a2bcc47077566904be471c46c13",
},
],
},
],
"lastUpdatedAt": "2021-09-13T18:42:10.000Z",
"memo": null,
"outputs": Array [
Object {
"address": "addr_test1qrxlnftwl73taxvcapnhgctae895l582a6r7k7jjeuwvzp0rvvww4m29k4km54utxag3mlhdsr73m62rsae6ad3hj6kqcexkh8",
"amount": "7305977",
"assets": Array [],
},
Object {
"address": "addr_test1qrqzse20fh7mmt5k9xf4sug3a2lh5fa7x9nr98avp0ac78stlqxj9g0azvpycncr9u600p6t556qhc3psk06uzzw6saq6xr7ra",
"amount": "961656019",
"assets": Array [
Object {
"amount": "1",
"assetId": "0b71c073fcf017eeff0664070c790a2bcc47077566904be471c46c13.727272727272",
"name": "727272727272",
"policyId": "0b71c073fcf017eeff0664070c790a2bcc47077566904be471c46c13",
},
Object {
"amount": "1",
"assetId": "57e37bc9a9c0a099a6636c3deb93b82e7edec8a9a40883017bae2674.717171717171",
"name": "717171717171",
"policyId": "57e37bc9a9c0a099a6636c3deb93b82e7edec8a9a40883017bae2674",
},
Object {
"amount": "1",
"assetId": "fc53320cfda5add9cde1e7094c73596eacc26dbe79834b67c14b5dad.656565656565",
"name": "656565656565",
"policyId": "fc53320cfda5add9cde1e7094c73596eacc26dbe79834b67c14b5dad",
},
],
},
],
"scriptSize": 0,
"slot": 166914,
"status": "Successful",
"submittedAt": "2021-09-13T18:42:10.000Z",
"txOrdinal": 0,
"type": "shelley",
"validContract": true,
"withdrawals": Array [],
},
"54ab3dc8e717040b9b4c523d0756cfc59a30f107e053b4cd474e11e818be0ddg": Object {
"blockHash": "3be6615c2711f8c85e5777d1a060682bba507551d99d3568569fe8dfb7dcc690",
"blockNum": 3626416,
Expand Down Expand Up @@ -544,45 +337,23 @@ Object {
}
`;

exports[`transaction manager gets updated tx cache values 5`] = `
exports[`transaction manager New schema: Empty storage, Sync, Memo 5`] = `
Object {
"addr_test1qqgxd3r59psq0dg33t7asmvjmtu55tvvcmeq5kmhj0tmqjctlqxj9g0azvpycncr9u600p6t556qhc3psk06uzzw6saqk4x7z6": Array [
"0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc",
],
"addr_test1qqkv3gr95tsuvwmgy4fcyffpcaxta9xu3df3az4rydxtlmwv60x7wwxgjxt6865rgds3na6sezwl4j483vmm796z0f7s9c9pry": Array [
"54ab3dc8e717040b9b4c523d0756cfc59a30f107e053b4cd474e11e818be0ddg",
],
"addr_test1qqlywk65k52hryugsamjy8ch63kw58sfry4jv8pq57fcapdv4dlyj0kwfs0x4e38a7047lymzp37tx0y42glslcdtzhqmascap": Array [
"54ab3dc8e717040b9b4c523d0756cfc59a30f107e053b4cd474e11e818be0ddg",
],
"addr_test1qrqzse20fh7mmt5k9xf4sug3a2lh5fa7x9nr98avp0ac78stlqxj9g0azvpycncr9u600p6t556qhc3psk06uzzw6saq6xr7ra": Array [
"0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc",
],
"addr_test1qrrdv3uxj8shu27ea9djvnn3rl4w3lvh3cyck6yc36mvf6ctlqxj9g0azvpycncr9u600p6t556qhc3psk06uzzw6saq4kvdpq": Array [
"0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc",
],
"addr_test1qrxlnftwl73taxvcapnhgctae895l582a6r7k7jjeuwvzp0rvvww4m29k4km54utxag3mlhdsr73m62rsae6ad3hj6kqcexkh8": Array [
"0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc",
],
"addr_test1qz7lg9vs0yd2dwmxmc5fwwzf0x85zyeg0ssvpnvw92a73f9v4dlyj0kwfs0x4e38a7047lymzp37tx0y42glslcdtzhqhfm3hv": Array [
"54ab3dc8e717040b9b4c523d0756cfc59a30f107e053b4cd474e11e818be0ddg",
],
}
`;

exports[`transaction manager gets updated tx cache values 6`] = `
exports[`transaction manager New schema: Empty storage, Sync, Memo 6`] = `
Object {
"e0acab7e493ece4c1e6ae627ef9f5f7c9b1063e599e4aa91f87f0d58ae": Object {
"0a8962dde362eef1f840defe6f916fdf9701ad53c7cb5dd4a74ab85df8e9bffc": Object {
"certificates": Array [
Object {
"kind": "StakeDeregistration",
"rewardAddress": "e0acab7e493ece4c1e6ae627ef9f5f7c9b1063e599e4aa91f87f0d58ae",
},
],
"epoch": 156,
"submittedAt": "2021-09-13T18:42:10.000Z",
},
"54ab3dc8e717040b9b4c523d0756cfc59a30f107e053b4cd474e11e818be0ddg": Object {
"certificates": Array [
Object {
Expand Down
50 changes: 18 additions & 32 deletions src/yoroi-wallets/cardano/transactionManager.test.ts
Expand Up @@ -11,7 +11,7 @@ import {
mockedTipStatusResponse,
mockTx,
} from './mocks'
import {makeMemosManager, makeTransactionManager} from './transactionManager'
import {makeTransactionManager} from './transactionManager'

jest.mock('./api', () => ({
getTipStatus: jest.fn().mockResolvedValue(mockedTipStatusResponse),
Expand All @@ -23,22 +23,11 @@ jest.mock('./api', () => ({
}))

describe('transaction manager', () => {
DeviceInfo.getVersion = () => '9.9.9'

beforeEach(() => AsyncStorage.clear())

it('stores memos', async () => {
const txManager = await makeTransactionManager(mockStorage, mockedBackendConfig)

expect(txManager.getTransactions()).toEqual({[mockTx.id]: mockTx})

await txManager.saveMemo(mockTx.id, 'memo 1')

expect(txManager.getTransactions()).toEqual({[mockTx.id]: {...mockTx, memo: 'memo 1'}})
})

it('gets updated tx cache values', async () => {
const txManager = await makeTransactionManager(mockStorage, mockedBackendConfig)
it('New schema: Empty storage, Sync, Memo', async () => {
DeviceInfo.getVersion = () => '9.9.9'
const txManager = await makeTransactionManager(rootStorage, mockedBackendConfig)

expect(txManager.getTransactions()).toMatchSnapshot()
expect(txManager.getPerAddressTxs()).toMatchSnapshot()
Expand All @@ -50,29 +39,26 @@ describe('transaction manager', () => {
expect(txManager.getTransactions()).toMatchSnapshot()
expect(txManager.getPerAddressTxs()).toMatchSnapshot()
expect(txManager.getPerRewardAddressCertificates()).toMatchSnapshot()
})
})

describe('memos manager', () => {
beforeEach(() => AsyncStorage.clear())
await txManager.saveMemo('54ab3dc8e717040b9b4c523d0756cfc59a30f107e053b4cd474e11e818be0ddg', 'memo 1')

it('works', async () => {
const storage = rootStorage.join('memos/')
const memosManager = await makeMemosManager(storage)

expect(memosManager.getMemos()).toEqual({})
expect(txManager.getTransactions()['54ab3dc8e717040b9b4c523d0756cfc59a30f107e053b4cd474e11e818be0ddg'].memo).toBe(
'memo 1',
)
})

await memosManager.saveMemo('fake-tx-id-1', 'Send money to my friend')
await memosManager.saveMemo('fake-tx-id-2', 'Send money to my girlfriend')
it('New schema: Non empty storage', async () => {
DeviceInfo.getVersion = () => '9.9.9'
const txManager = await makeTransactionManager(mockStorage, mockedBackendConfig)

expect(memosManager.getMemos()).toEqual({
'fake-tx-id-1': 'Send money to my friend',
'fake-tx-id-2': 'Send money to my girlfriend',
})
expect(txManager.getTransactions()).toEqual({[mockTx.id]: mockTx})
})

await memosManager.clear()
it('Old schema: Non empty storage', async () => {
DeviceInfo.getVersion = () => '0.0.1'
const txManager = await makeTransactionManager(mockStorage, mockedBackendConfig)

expect(memosManager.getMemos()).toEqual({})
expect(txManager.getTransactions()).toEqual({})
})
})

Expand Down

0 comments on commit 32f0bfa

Please sign in to comment.