"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const bignumber_js_1 = __importDefault(require("bignumber.js"));
const internal_1 = require("../../internal");
const mocks_1 = require("../../testUtils/mocks");
const utils_1 = require("../../types/utils");
describe('Polymesh Transaction class', () => {
    let context;
    beforeAll(() => {
        mocks_1.dsMockUtils.initMocks();
    });
    beforeEach(() => {
        context = mocks_1.dsMockUtils.getContextInstance();
    });
    const txSpec = {
        signer: 'signer',
        isCritical: false,
        fee: new bignumber_js_1.default(100),
        batchSize: null,
        paidByThirdParty: false,
    };
    afterEach(() => {
        mocks_1.dsMockUtils.reset();
    });
    describe('get: args', () => {
        test('should return unwrapped args', () => {
            const tx = mocks_1.dsMockUtils.createTxStub('asset', 'registerTicker');
            const args = utils_1.tuple('A_TICKER');
            const transaction = new internal_1.PolymeshTransaction(Object.assign(Object.assign({}, txSpec), { tx,
                args }), context);
            expect(transaction.args).toEqual(args);
            expect(transaction.args).toEqual(args); // this second call is to cover the case where the internal value is already set
        });
    });
});
//# sourceMappingURL=PolymeshTransaction.js.map