| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- const { eq, ok } = require('../../helpers/assert');
- const { makeNetwork, makePeer } = require('../../helpers/setup');
- describe('banking: address management (no RPC)', (t) => {
- t('A adds own ECO address', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- await A.use('banking').addAddress({ userId: A.keypair.id, address: 'ECoinAddrAAA1111111111111111' });
- const addr = await A.use('banking').getUserAddress(A.keypair.id);
- eq(addr, 'ECoinAddrAAA1111111111111111');
- });
- t('A sets address (publishes if self)', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- await A.use('banking').setUserAddress(A.keypair.id, 'ECoinAddrXYZ222222222222222', true);
- const addr = await A.use('banking').getUserAddress(A.keypair.id);
- eq(addr, 'ECoinAddrXYZ222222222222222');
- });
- t('listAddressesMerged returns combined view', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- await A.use('banking').addAddress({ userId: A.keypair.id, address: 'ECoinAddrZ4444444444444444' });
- const merged = await A.use('banking').listAddressesMerged();
- ok(Array.isArray(merged));
- });
- t('A removes own address', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- await A.use('banking').addAddress({ userId: A.keypair.id, address: 'addr1' });
- await A.use('banking').removeAddress({ userId: A.keypair.id });
- const addr = await A.use('banking').getUserAddress(A.keypair.id);
- eq(addr, null);
- });
- });
- describe('banking: claims and epochs (no RPC)', (t) => {
- t('hasClaimedThisMonth returns boolean', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- const claimed = await A.use('banking').hasClaimedThisMonth(A.keypair.id);
- eq(typeof claimed, 'boolean');
- });
- t('getUbiClaimHistory returns history object', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- const history = await A.use('banking').getUbiClaimHistory(A.keypair.id);
- ok(history);
- eq(typeof history.claimCount, 'number');
- });
- t('listBanking returns object', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- const result = await A.use('banking').listBanking('all').catch(() => null);
- ok(result === null || typeof result === 'object');
- });
- t('getBankingData returns user banking info', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- const data = await A.use('banking').getBankingData(A.keypair.id).catch(() => null);
- ok(data === null || typeof data === 'object');
- });
- });
- describe('banking: pub state', (t) => {
- t('isPubNode returns boolean', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- const isPub = A.use('banking').isPubNode();
- eq(typeof isPub, 'boolean');
- });
- t('getConfiguredPubId returns string or null', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- const pid = A.use('banking').getConfiguredPubId();
- ok(typeof pid === 'string' || pid === null || pid === undefined);
- });
- t('DEFAULT_RULES exported', async () => {
- const net = makeNetwork(); const A = makePeer(net); A.setActor();
- const rules = A.use('banking').DEFAULT_RULES;
- ok(rules);
- ok(rules.caps);
- });
- });
|