flipper.spec.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. // SPDX-License-Identifier: Apache-2.0
  2. import expect from 'expect';
  3. import { weight, createConnection, deploy, transaction, aliceKeypair, query, } from './index';
  4. import { ContractPromise } from '@polkadot/api-contract';
  5. describe('Deploy flipper contract and test', () => {
  6. it('flipper', async function () {
  7. this.timeout(50000);
  8. let conn = await createConnection();
  9. const alice = aliceKeypair();
  10. let deployed_contract = await deploy(conn, alice, 'flipper.contract', BigInt(0), true);
  11. let contract = new ContractPromise(conn, deployed_contract.abi, deployed_contract.address);
  12. let init_value = await query(conn, alice, contract, "get");
  13. expect(init_value.output?.toJSON()).toBe(true);
  14. let gasLimit = await weight(conn, contract, "flip");
  15. const tx = contract.tx.flip({ gasLimit });
  16. await transaction(tx, alice);
  17. let flipped_value = await query(conn, alice, contract, "get");
  18. expect(flipped_value.output?.toJSON()).toBe(false);
  19. conn.disconnect();
  20. });
  21. });