Add tests for additional bond commands

This commit is contained in:
Prathamesh Musale 2024-01-25 16:44:42 +05:30
parent ad91dfa4bf
commit 16cd3dedf9

View File

@ -76,7 +76,7 @@ describe('Test laconic CLI commands', () => {
}); });
describe('Bond operations', () => { describe('Bond operations', () => {
const bondBalance = 1000000000; let bondBalance = 1000000000;
const bondOwner = testAccount; const bondOwner = testAccount;
let bondId: string; let bondId: string;
@ -124,15 +124,62 @@ describe('Test laconic CLI commands', () => {
}); });
test('laconic cns bond refill --id <bond_id> --type <type> --quantity <quantity>', async () => { test('laconic cns bond refill --id <bond_id> --type <type> --quantity <quantity>', async () => {
// TODO const bondRefillAmount = 1000;
bondBalance += bondRefillAmount;
const result = spawnSync('laconic', ['cns', 'bond', 'refill', '--id', bondId, '--type', TOKEN_TYPE, '--quantity', bondRefillAmount.toString()]);
const outputObj = checkResultAndRetrieveOutput(result);
// Expected output
expect(outputObj).toEqual({ success: true });
// Check updated bond
const bondResult = spawnSync('laconic', ['cns', 'bond', 'get', '--id', bondId]);
const bondOutputObj = checkResultAndRetrieveOutput(bondResult);
// Expected bond
const expectedBond = getBondObj({ id: bondId, owner: bondOwner, balance: bondBalance });
expect(bondOutputObj.length).toEqual(1);
expect(bondOutputObj[0]).toEqual(expectedBond);
}); });
test('laconic cns bond withdraw --id <bond_id> --type <type> --quantity <quantity>', async () => { test('laconic cns bond withdraw --id <bond_id> --type <type> --quantity <quantity>', async () => {
// TODO const bondWithdrawAmount = 500;
bondBalance -= bondWithdrawAmount;
const result = spawnSync('laconic', ['cns', 'bond', 'withdraw', '--id', bondId, '--type', TOKEN_TYPE, '--quantity', bondWithdrawAmount.toString()]);
const outputObj = checkResultAndRetrieveOutput(result);
// Expected output
expect(outputObj).toEqual({ success: true });
// Check updated bond
const bondResult = spawnSync('laconic', ['cns', 'bond', 'get', '--id', bondId]);
const bondOutputObj = checkResultAndRetrieveOutput(bondResult);
// Expected bond
const expectedBond = getBondObj({ id: bondId, owner: bondOwner, balance: bondBalance });
// Expect balance to be deducted (also deducts gas)
expect(bondOutputObj.length).toEqual(1);
expect(bondOutputObj[0]).toEqual(expectedBond);
}); });
test('laconic cns bond cancel --id <bond_id>', async () => { test('laconic cns bond cancel --id <bond_id>', async () => {
// TODO const result = spawnSync('laconic', ['cns', 'bond', 'cancel', '--id', bondId]);
const outputObj = checkResultAndRetrieveOutput(result);
// Expected output
expect(outputObj).toEqual({ success: true });
// Check updated bond
const bondResult = spawnSync('laconic', ['cns', 'bond', 'get', '--id', bondId]);
const bondOutputObj = checkResultAndRetrieveOutput(bondResult);
// Expect empty object
expect(bondOutputObj.length).toEqual(1);
expect(bondOutputObj[0]).toEqual({ id: '', owner: '', balance: [] });
}); });
}); });