Skip to content

Commit 0e6e5d7

Browse files
committed
fix: update remoteAbi tests for synchronous checkOrConvertArgument
- Convert async tests to synchronous for checkOrConvertArgument - Replace 'await expect(...).rejects.toThrow()' with 'expect(() => ...).toThrow()' - Remove async/await from tests that don't need it - All tests now pass (17/17)
1 parent 33aa5f8 commit 0e6e5d7

File tree

1 file changed

+69
-81
lines changed

1 file changed

+69
-81
lines changed

tests/unit/remoteAbi.test.ts

Lines changed: 69 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -338,122 +338,110 @@ describe("Remote ABI", () => {
338338
);
339339
});
340340

341-
it("should fail on invalid simple inputs", async () => {
342-
await expect(checkOrConvertArgument(false, parseTypeTag("address"), 0, [])).rejects.toThrow();
343-
await expect(checkOrConvertArgument(0, parseTypeTag("bool"), 0, [])).rejects.toThrow();
344-
await expect(checkOrConvertArgument(false, parseTypeTag("u8"), 0, [])).rejects.toThrow();
345-
await expect(checkOrConvertArgument(false, parseTypeTag("u16"), 0, [])).rejects.toThrow();
346-
await expect(checkOrConvertArgument(false, parseTypeTag("u32"), 0, [])).rejects.toThrow();
347-
await expect(checkOrConvertArgument(false, parseTypeTag("u64"), 0, [])).rejects.toThrow();
348-
await expect(checkOrConvertArgument(false, parseTypeTag("u128"), 0, [])).rejects.toThrow();
349-
await expect(checkOrConvertArgument(false, parseTypeTag("u256"), 0, [])).rejects.toThrow();
350-
await expect(checkOrConvertArgument(false, parseTypeTag("0x1::string::String"), 0, [])).rejects.toThrow();
351-
await expect(checkOrConvertArgument(false, parseTypeTag("0x1::option::Option<u8>"), 0, [])).rejects.toThrow();
352-
await expect(checkOrConvertArgument(false, parseTypeTag("0x1::object::Object<u8>"), 0, [])).rejects.toThrow();
353-
await expect(checkOrConvertArgument(false, parseTypeTag("vector<u8>"), 0, [])).rejects.toThrow();
354-
await expect(
355-
(async () => await checkOrConvertArgument([0], parseTypeTag("vector<T0>"), 0, []))(),
356-
).rejects.toThrow();
341+
it("should fail on invalid simple inputs", () => {
342+
expect(() => checkOrConvertArgument(false, parseTypeTag("address"), 0, [])).toThrow();
343+
expect(() => checkOrConvertArgument(0, parseTypeTag("bool"), 0, [])).toThrow();
344+
expect(() => checkOrConvertArgument(false, parseTypeTag("u8"), 0, [])).toThrow();
345+
expect(() => checkOrConvertArgument(false, parseTypeTag("u16"), 0, [])).toThrow();
346+
expect(() => checkOrConvertArgument(false, parseTypeTag("u32"), 0, [])).toThrow();
347+
expect(() => checkOrConvertArgument(false, parseTypeTag("u64"), 0, [])).toThrow();
348+
expect(() => checkOrConvertArgument(false, parseTypeTag("u128"), 0, [])).toThrow();
349+
expect(() => checkOrConvertArgument(false, parseTypeTag("u256"), 0, [])).toThrow();
350+
expect(() => checkOrConvertArgument(false, parseTypeTag("0x1::string::String"), 0, [])).toThrow();
351+
expect(() => checkOrConvertArgument(false, parseTypeTag("0x1::option::Option<u8>"), 0, [])).toThrow();
352+
expect(() => checkOrConvertArgument(false, parseTypeTag("0x1::object::Object<u8>"), 0, [])).toThrow();
353+
expect(() => checkOrConvertArgument(false, parseTypeTag("vector<u8>"), 0, [])).toThrow();
354+
expect(() => checkOrConvertArgument([0], parseTypeTag("vector<T0>"), 0, [])).toThrow();
357355

358356
// Invalid struct
359-
await expect(checkOrConvertArgument(false, parseTypeTag("0x1::account::Account"), 0, [])).rejects.toThrow();
357+
expect(() => checkOrConvertArgument(false, parseTypeTag("0x1::account::Account"), 0, [])).toThrow();
360358

361359
// Unsupported type
362-
await expect(checkOrConvertArgument(false, parseTypeTag("signer"), 0, [])).rejects.toThrow();
360+
expect(() => checkOrConvertArgument(false, parseTypeTag("signer"), 0, [])).toThrow();
363361
});
364362

365-
it("should fail on invalid signed integer inputs", async () => {
363+
it("should fail on invalid signed integer inputs", () => {
366364
// Boolean inputs should fail for signed integers
367-
await expect(checkOrConvertArgument(false, parseTypeTag("i8"), 0, [])).rejects.toThrow();
368-
await expect(checkOrConvertArgument(false, parseTypeTag("i16"), 0, [])).rejects.toThrow();
369-
await expect(checkOrConvertArgument(false, parseTypeTag("i32"), 0, [])).rejects.toThrow();
370-
await expect(checkOrConvertArgument(false, parseTypeTag("i64"), 0, [])).rejects.toThrow();
371-
await expect(checkOrConvertArgument(false, parseTypeTag("i128"), 0, [])).rejects.toThrow();
372-
await expect(checkOrConvertArgument(false, parseTypeTag("i256"), 0, [])).rejects.toThrow();
365+
expect(() => checkOrConvertArgument(false, parseTypeTag("i8"), 0, [])).toThrow();
366+
expect(() => checkOrConvertArgument(false, parseTypeTag("i16"), 0, [])).toThrow();
367+
expect(() => checkOrConvertArgument(false, parseTypeTag("i32"), 0, [])).toThrow();
368+
expect(() => checkOrConvertArgument(false, parseTypeTag("i64"), 0, [])).toThrow();
369+
expect(() => checkOrConvertArgument(false, parseTypeTag("i128"), 0, [])).toThrow();
370+
expect(() => checkOrConvertArgument(false, parseTypeTag("i256"), 0, [])).toThrow();
373371

374372
// Booleans should fail for vector<i*>
375-
await expect(checkOrConvertArgument(false, parseTypeTag("vector<i8>"), 0, [])).rejects.toThrow();
373+
expect(() => checkOrConvertArgument(false, parseTypeTag("vector<i8>"), 0, [])).toThrow();
376374
});
377375

378-
it("should fail on typed inputs", async () => {
379-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("address"), 0, [])).rejects.toThrow();
380-
await expect(checkOrConvertArgument(new U8(0), parseTypeTag("bool"), 0, [])).rejects.toThrow();
381-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("u8"), 0, [])).rejects.toThrow();
382-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("u16"), 0, [])).rejects.toThrow();
383-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("u32"), 0, [])).rejects.toThrow();
384-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("u64"), 0, [])).rejects.toThrow();
385-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("u128"), 0, [])).rejects.toThrow();
386-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("u256"), 0, [])).rejects.toThrow();
387-
await expect(
388-
checkOrConvertArgument(new Bool(true), parseTypeTag("0x1::string::String"), 0, []),
389-
).rejects.toThrow();
390-
await expect(
391-
checkOrConvertArgument(new Bool(true), parseTypeTag("0x1::option::Option<u8>"), 0, []),
392-
).rejects.toThrow();
393-
await expect(
394-
checkOrConvertArgument(new Bool(true), parseTypeTag("0x1::object::Object<u8>"), 0, []),
395-
).rejects.toThrow();
396-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("vector<u8>"), 0, [])).rejects.toThrow();
397-
await expect(
398-
(async () => await checkOrConvertArgument(MoveVector.U8([0]), parseTypeTag("vector<T0>"), 0, []))(),
399-
).rejects.toThrow();
376+
it("should fail on typed inputs", () => {
377+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("address"), 0, [])).toThrow();
378+
expect(() => checkOrConvertArgument(new U8(0), parseTypeTag("bool"), 0, [])).toThrow();
379+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("u8"), 0, [])).toThrow();
380+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("u16"), 0, [])).toThrow();
381+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("u32"), 0, [])).toThrow();
382+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("u64"), 0, [])).toThrow();
383+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("u128"), 0, [])).toThrow();
384+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("u256"), 0, [])).toThrow();
385+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("0x1::string::String"), 0, [])).toThrow();
386+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("0x1::option::Option<u8>"), 0, [])).toThrow();
387+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("0x1::object::Object<u8>"), 0, [])).toThrow();
388+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("vector<u8>"), 0, [])).toThrow();
389+
expect(() => checkOrConvertArgument(MoveVector.U8([0]), parseTypeTag("vector<T0>"), 0, [])).toThrow();
400390

401391
// Invalid struct
402-
await expect(checkOrConvertArgument(false, parseTypeTag("0x1::account::Account"), 0, [])).rejects.toThrow();
392+
expect(() => checkOrConvertArgument(false, parseTypeTag("0x1::account::Account"), 0, [])).toThrow();
403393

404394
// Unsupported type
405-
await expect(checkOrConvertArgument(false, parseTypeTag("signer"), 0, [])).rejects.toThrow();
395+
expect(() => checkOrConvertArgument(false, parseTypeTag("signer"), 0, [])).toThrow();
406396
});
407397

408-
it("should fail on typed signed integer inputs with wrong type", async () => {
398+
it("should fail on typed signed integer inputs with wrong type", () => {
409399
// Bool inputs should fail for signed integers
410-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("i8"), 0, [])).rejects.toThrow();
411-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("i16"), 0, [])).rejects.toThrow();
412-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("i32"), 0, [])).rejects.toThrow();
413-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("i64"), 0, [])).rejects.toThrow();
414-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("i128"), 0, [])).rejects.toThrow();
415-
await expect(checkOrConvertArgument(new Bool(true), parseTypeTag("i256"), 0, [])).rejects.toThrow();
400+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("i8"), 0, [])).toThrow();
401+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("i16"), 0, [])).toThrow();
402+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("i32"), 0, [])).toThrow();
403+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("i64"), 0, [])).toThrow();
404+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("i128"), 0, [])).toThrow();
405+
expect(() => checkOrConvertArgument(new Bool(true), parseTypeTag("i256"), 0, [])).toThrow();
416406

417407
// Wrong signed integer type should fail
418-
await expect(checkOrConvertArgument(new I16(5), parseTypeTag("i8"), 0, [])).rejects.toThrow();
419-
await expect(checkOrConvertArgument(new I8(5), parseTypeTag("i16"), 0, [])).rejects.toThrow();
408+
expect(() => checkOrConvertArgument(new I16(5), parseTypeTag("i8"), 0, [])).toThrow();
409+
expect(() => checkOrConvertArgument(new I8(5), parseTypeTag("i16"), 0, [])).toThrow();
420410
});
421411

422-
it("should not support unsupported vector conversions", async () => {
412+
it("should not support unsupported vector conversions", () => {
423413
// These are not supported currently, but could in the future
424-
await expect(
414+
expect(() =>
425415
checkOrConvertArgument(new Uint16Array([1, 2, 3]) as any, parseTypeTag("vector<u16>"), 0, []),
426-
).rejects.toThrow();
427-
await expect(
416+
).toThrow();
417+
expect(() =>
428418
checkOrConvertArgument(new Uint32Array([1, 2, 3]) as any, parseTypeTag("vector<u32>"), 0, []),
429-
).rejects.toThrow();
430-
await expect(
419+
).toThrow();
420+
expect(() =>
431421
checkOrConvertArgument(new BigUint64Array([1n, 2n, 3n]) as any, parseTypeTag("vector<u64>"), 0, []),
432-
).rejects.toThrow();
422+
).toThrow();
433423

434424
// Signed arrays shouldn't work though
435-
await expect(
436-
checkOrConvertArgument(new Int8Array([1, 2, 3]) as any, parseTypeTag("vector<u8>"), 0, []),
437-
).rejects.toThrow();
438-
await expect(
425+
expect(() => checkOrConvertArgument(new Int8Array([1, 2, 3]) as any, parseTypeTag("vector<u8>"), 0, [])).toThrow();
426+
expect(() =>
439427
checkOrConvertArgument(new Int16Array([1, 2, 3]) as any, parseTypeTag("vector<u16>"), 0, []),
440-
).rejects.toThrow();
441-
await expect(
428+
).toThrow();
429+
expect(() =>
442430
checkOrConvertArgument(new Int32Array([1, 2, 3]) as any, parseTypeTag("vector<u32>"), 0, []),
443-
).rejects.toThrow();
444-
await expect(
431+
).toThrow();
432+
expect(() =>
445433
checkOrConvertArgument(new BigInt64Array([1n, 2n, 3n]) as any, parseTypeTag("vector<u64>"), 0, []),
446-
).rejects.toThrow();
434+
).toThrow();
447435

448436
// Below u64 can't support bigints
449-
await expect(checkOrConvertArgument([1n, 2n], parseTypeTag("vector<u8>"), 0, [])).rejects.toThrow();
450-
await expect(checkOrConvertArgument([1n, 2n], parseTypeTag("vector<u16>"), 0, [])).rejects.toThrow();
451-
await expect(checkOrConvertArgument([1n, 2n], parseTypeTag("vector<u32>"), 0, [])).rejects.toThrow();
437+
expect(() => checkOrConvertArgument([1n, 2n], parseTypeTag("vector<u8>"), 0, [])).toThrow();
438+
expect(() => checkOrConvertArgument([1n, 2n], parseTypeTag("vector<u16>"), 0, [])).toThrow();
439+
expect(() => checkOrConvertArgument([1n, 2n], parseTypeTag("vector<u32>"), 0, [])).toThrow();
452440

453441
// Can't mix types that don't match
454-
await expect(checkOrConvertArgument([1n, new U64(2)], parseTypeTag("vector<u8>"), 0, [])).rejects.toThrow();
455-
await expect(checkOrConvertArgument([1n, new U64(2)], parseTypeTag("vector<u16>"), 0, [])).rejects.toThrow();
456-
await expect(checkOrConvertArgument([1n, new U64(2)], parseTypeTag("vector<u32>"), 0, [])).rejects.toThrow();
442+
expect(() => checkOrConvertArgument([1n, new U64(2)], parseTypeTag("vector<u8>"), 0, [])).toThrow();
443+
expect(() => checkOrConvertArgument([1n, new U64(2)], parseTypeTag("vector<u16>"), 0, [])).toThrow();
444+
expect(() => checkOrConvertArgument([1n, new U64(2)], parseTypeTag("vector<u32>"), 0, [])).toThrow();
457445

458446
// TODO: Verify string behavior on u64 and above
459447
});

0 commit comments

Comments
 (0)