Skip to content

Setup new matrix for run with chops - dynamic matrix #1403

Setup new matrix for run with chops - dynamic matrix

Setup new matrix for run with chops - dynamic matrix #1403

GitHub Actions / E2E report yarn test-parallel-chops --max-workers=1 succeeded Nov 14, 2023 in 0s

E2E report yarn test-parallel-chops --max-workers=1 ✅

Tests passed successfully

✅ e2eTests/reports/junit.xml-18537440-830d-11ee-9c1f-c178098e1c76.xml

143 tests were completed in 958s with 143 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
test/fees/api.tx.fees.test.ts 3✅ 14s
test/parallel/assetRegistry.getTradeable.rpc.test.ts 7✅ 14s
test/parallel/feelock.autounlock.test.ts 1✅ 21s
test/parallel/identity-pallet.API.mainUseCases.test.ts 3✅ 17s
test/parallel/sdk.API.rpc.test.ts 3✅ 14s
test/parallel/xyk-pallet.API.accuracy.no.connected.MGA.fees.test.ts 1✅ 20s
test/parallel/xyk-pallet.API.accuracy.tx.fees.test.ts 2✅ 21s
test/parallel/xyk-pallet.API.burnLiquidity.error.test.ts 3✅ 32s
test/parallel/xyk-pallet.API.burnLiquidity.test.ts 3✅ 35s
test/parallel/xyk-pallet.API.buyAsset.test.ts 6✅ 42s
test/parallel/xyk-pallet.API.mintLiquidity.error.test.ts 5✅ 42s
test/parallel/xyk-pallet.API.mintLiquidity.test.ts 2✅ 21s
test/parallel/xyk-pallet.API.payment-info.test.ts 6✅ 13s
test/parallel/xyk-pallet.API.pool.test.ts 9✅ 42s
test/parallel/xyk-pallet.API.poolVestedToken.test.ts 4✅ 61s
test/parallel/xyk-pallet.API.provideLiquidity.test.ts 4✅ 28s
test/parallel/xyk-pallet.API.sellAsset.test.ts 5✅ 37s
test/parallel/xyk-pallet.API.treasury.no.connected.mangata.test.ts 4✅ 33s
test/parallel/xyk-pallet.asset.buy.test.ts 2✅ 22s
test/parallel/xyk-pallet.asset.register.test.ts 10✅ 40s
test/parallel/xyk-pallet.asset.sell.test.ts 2✅ 23s
test/parallel/xyk-pallet.asset.transfer.test.ts 2✅ 19s
test/parallel/xyk-pallet.liquidity.test.ts 3✅ 24s
test/parallel/xyk-pallet.MPL.test.ts 4✅ 32s
test/parallel/xyk-pallet.MPL.vesting.native.test.ts 3✅ 17s
test/parallel/xyk-pallet.MPL.vesting.test.ts 2✅ 23s
test/parallel/xyk-pallet.pool.test.ts 2✅ 19s
test/parallel/xyk-pallet.sudo.security.test.ts 4✅ 16s
test/parallel/xyk-pallet.sudo.test.ts 2✅ 13s
test/parallel/xyk-rpc.calculate.burnAmount.test.ts 7✅ 21s
test/parallel/xyk-rpc.calculate.by.id.test.ts 15✅ 21s
test/parallel/xyk-rpc.calculate.test.ts 4✅ 19s
test/staking/candidates.staking.test.ts 4✅ 25s
test/staking/candidates2.staking.test.ts 1✅ 18s
test/staking/sudo.staking.test.ts 4✅ 15s
test/story/story.LP.test.ts 1✅ 67s

✅ test/fees/api.tx.fees.test.ts

✅ Fees : Transfers are about 5~ MGX
✅ Fees : Transfers are about 0.005~ KSM
✅ Fees : Transfers are about 0.5~ TUR

✅ test/parallel/assetRegistry.getTradeable.rpc.test.ts

AssetRegistry RPC -
  ✅ GIVEN a token that does not exist on the asset registry THEN it won't be returned in RPC
  ✅ GIVEN a token that does exist on the asset registry AND name is empty and symbol is empty and operation disabled is not set THEN it won't be returned in RPC
  ✅ GIVEN a token that does exist on the asset registry AND name is not empty and symbol is empty and operation disabled is not set THEN it won't be returned in RPC
  ✅ GIVEN a token that does exist on the asset registry AND name is not empty and symbol is not empty and operation disabled is not set THEN its returned in RPC
  ✅ GIVEN a token that does exist on the asset registry AND name is not empty and symbol is not empty and operation disabled is false THEN its returned in RPC
  ✅ GIVEN a token that does exist on the asset registry AND name is not empty and symbol is not empty and operation disabled is true THEN its not returned in RPC
  ✅ GIVEN a token that belongs to a pool WHEN pool is not disabled THEN the token is not filtered

✅ test/parallel/feelock.autounlock.test.ts

✅ [gasless] Happy path: automatic-unlock

✅ test/parallel/identity-pallet.API.mainUseCases.test.ts

Identity pallet tests: Main use cases
  ✅ Check setter & getters for identity pallet and reserves 5k mgas
  ✅ Check that a user can unset the name with identity pallet and tokens are unreserved
  ✅ Check that a user can sub one address

✅ test/parallel/sdk.API.rpc.test.ts

SDK tests for rpc functions
  ✅ Calculate Sell / buy / id
  ✅ Get Burn amount , maxInstant burn amount
  ✅ Calculate balanced sell amount

✅ test/parallel/xyk-pallet.API.accuracy.no.connected.MGA.fees.test.ts

✅ xyk-pallet - Assets substracted are incremented by 1 - SellAsset

✅ test/parallel/xyk-pallet.API.accuracy.tx.fees.test.ts

✅ xyk-pallet - Calculate required MGA fee - CreatePool
✅ xyk-pallet - Calculate required MGA fee - BuyAsset

✅ test/parallel/xyk-pallet.API.burnLiquidity.error.test.ts

xyk-pallet - Burn liquidity tests: BurnLiquidity Errors:
  ✅ Burn liquidity assets that does not belong to any pool
  ✅ Burn liquidity  for more assets than the liquidity pool has issued
  ✅ Burn someone else liquidities

✅ test/parallel/xyk-pallet.API.burnLiquidity.test.ts

xyk-pallet - Burn liquidity tests: when burning liquidity you can
  ✅ Get affected after a transaction that devaluates X wallet & pool states with [0,0]
  ✅ Burning liquidities provides Burn and settle
  ✅ Burning liquidities generates a Liquidity burned event

✅ test/parallel/xyk-pallet.API.buyAsset.test.ts

xyk-pallet - Buy assets tests: BuyAssets Errors:
  ✅ Buy assets that does not belong to any pool
  ✅ Buy more assets than exists in the pool
  ✅ Buy all assets from the the pool
  ✅ Buy assets with a high expectation: maxInput -1
xyk-pallet - Buy assets tests: Buying assets you can
  ✅ Leave only one asset in the pool
  ✅ Buy from a wallet I own into a wallet I do not own

✅ test/parallel/xyk-pallet.API.mintLiquidity.error.test.ts

xyk-pallet - Mint liquidity tests: MintLiquidity Errors:
  ✅ Mint liquidity when not enough assetY for minting Xamount
  ✅ Mint liquidity when not enough assetX for minting Yamount
  ✅ Mint liquidity assets that does not belong to any pool
  ✅ Mint liquidity more assets than I own
  ✅ Min liquidity, SecondAssetAmount parameter expectation not met

✅ test/parallel/xyk-pallet.API.mintLiquidity.test.ts

xyk-pallet - Mint liquidity tests: with minting you can
  ✅ Add all the wallet assets to the pool
  ✅ Expect an event when liquidity is minted

✅ test/parallel/xyk-pallet.API.payment-info.test.ts

✅ GIVEN a paymentInfo request, WHEN extrinsic is sellAsset  THEN zero is returned.
✅ GIVEN a paymentInfo request, WHEN extrinsic is multiswapBuyAsset THEN  zero is returned
✅ GIVEN a paymentInfo request, WHEN extrinsic is mintLiquidityEvent THEN non-zero is returned
✅ GIVEN a paymentInfo request, WHEN extrinsic is compoundRewards THEN non-zero is returned
✅ GIVEN a paymentInfo request, WHEN extrinsic is provideLiquidityWithId THEN non-zero is returned
✅ GIVEN a paymentInfo request, WHEN extrinsic is a batch with a sell/buy operation THEN non-zero is returned AND the extrinsic will fail because sell/buy are forbidden in batches tx

✅ test/parallel/xyk-pallet.API.pool.test.ts

xyk-pallet - Poll creation: Errors:
  ✅ Create x-y and y-x pool
  ✅ Create pool with zero
  ✅ Not enough assets
xyk-pallet - Pool tests: a pool can:
  ✅ be minted
  ✅ be burn
xyk-pallet - Pool opeations: Simmetry
  ✅ GetBalance x-y and y-x pool
  ✅ Minting x-y and y-x pool
  ✅ Burning x-y and y-x pool
  ✅ GetLiquidityAssetID x-y and y-x pool

✅ test/parallel/xyk-pallet.API.poolVestedToken.test.ts

xyk-pallet - Vested token tests: which action you can do with vesting token
  ✅ xyk-pallet- check that vested liqidity tokens can not be used for burning or transfering
  ✅ xyk-pallet- check that unlocking tokens are free to use when the relock time is done
  ✅ xyk-pallet- check that all unlocking vesting tokens can be burned
  ✅ xyk-pallet- check that if pool not promoted then the extrinsic failed

✅ test/parallel/xyk-pallet.API.provideLiquidity.test.ts

✅ Function provideLiquidityWithConversion does not work with non-mga paired token
✅ A user without any liq token, can use provideLiquidityWithConversion to mint some tokens.
✅ A user without any liq token, can use provideLiquidityWithConversion to mint some tokens on a promoted pool.
✅ A user who uses provideLiquidityWithConversion and other who do manually a swap + mint, gets the similar ratio of liquidity tokens.

✅ test/parallel/xyk-pallet.API.sellAsset.test.ts

xyk-pallet - Sell assets tests: SellAsset Errors:
  ✅ Sell assets that does not belong to any pool
  ✅ Try sell more assets than owned
  ✅ Sell assets with a high expectation: limit +1
xyk-pallet - Sell assets tests: Selling Assets you can
  ✅ Sell assets with a high expectation: limit - OK
  ✅ Sell assets from a wallet I own into a wallet I do not own: limit

✅ test/parallel/xyk-pallet.API.treasury.no.connected.mangata.test.ts

xyk-pallet - treasury tests [No Mangata]: on treasury we store
  ✅ assets won when assets are sold - 5 [no connected to MGA]
  ✅ assets won when assets are sold - 1 [rounding] [no connected to MGA]
  ✅ assets won when assets are bought - 2 [no connected to MGA]
  ✅ assets won when assets are bought - 1 [no connected to MGA]

✅ test/parallel/xyk-pallet.asset.buy.test.ts

✅ xyk-pallet - AssetsOperation: buyAsset [maxAmountIn = 1M], buy asset
✅ xyk-pallet - AssetsOperation: buyAsset [maxAmountIn = 1M], sell a bought asset

✅ test/parallel/xyk-pallet.asset.register.test.ts

✅ register new asset from sudo user
✅ try to register a new asset from non-sudo user, expect to fail
✅ register new asset and then update it by sudo user
✅ register new asset and then update it by non sudo user, expect to fail
✅ register new asset and then update it without the location
✅ register new asset and then update it without fee
✅ register asset and then try to register new one with the same assetId, expect to conflict
✅ register asset with xyk disabled and try to create a pool, expect to fail
✅ register asset with xyk undefined and try to create a pool, expect success
✅ register asset with xyk enabled and try to create a pool, expect success

✅ test/parallel/xyk-pallet.asset.sell.test.ts

✅ xyk-pallet - AssetsOperation: sellAsset [minAmountOut = 0] , first to second currency
✅ xyk-pallet - AssetsOperation: sellAsset [minAmountOut = 0], sell an already sold asset

✅ test/parallel/xyk-pallet.asset.transfer.test.ts

✅ xyk-pallet - AssetsOperation: transferAsset
✅ xyk-pallet - AssetsOperation: transferAll

✅ test/parallel/xyk-pallet.liquidity.test.ts

✅ xyk-pallet - Liqudity : Burn part of the liquidity
✅ xyk-pallet - Liqudity : Burn all the liquidity
✅ xyk-pallet - LiquidityOperation: mintLiquidity

✅ test/parallel/xyk-pallet.MPL.test.ts

MPL: Delegator
  ✅ join as delegator > verify account balances are reserved +  mpl storage
MPL: Collators
  ✅ join as collator > verify account balances are reserved + mpl checks
  ✅ join as collator + activate  > acount balances are reserved + mpl checks
MPL: Collators - Activated liq
  ✅ join as collator with activated liq. > verify account balances are reserved + mpl checks

✅ test/parallel/xyk-pallet.MPL.vesting.native.test.ts

Vesting-native
  ✅ As a user, I can use MGX vested to move tokens to MPL pallet
  ✅ As a user, I can use MGX vested from MPL to staking
  ✅ As a user, I can revert MGX vested from MPL to vesting pallet

✅ test/parallel/xyk-pallet.MPL.vesting.test.ts

Vesting
  ✅ As a user, I can use vested tokens to mint
  ✅ As a user, I can activate vesting-minted tokens only if reserved

✅ test/parallel/xyk-pallet.pool.test.ts

✅ xyk-pallet - Pool tests: createPool and validate liq token
✅ xyk-pallet - Pool tests: createPool

✅ test/parallel/xyk-pallet.sudo.security.test.ts

✅ xyk-pallet - SecurityTests - Only sudo can perform actions [tokens.create]
✅ xyk-pallet - SecurityTests - Only sudo can perform actions [tokens.create to itself]
✅ xyk-pallet - SecurityTests - Only sudo can perform actions [tokens.mint]
✅ xyk-pallet - SecurityTests - Only sudo can perform actions [tokens.mint to itself]

✅ test/parallel/xyk-pallet.sudo.test.ts

✅ xyk-pallet - Sudo tests: Sudo Issue an asset
✅ xyk-pallet - Sudo tests: Sudo Issue two  different assets to the same account

✅ test/parallel/xyk-rpc.calculate.burnAmount.test.ts

xyk-rpc - calculate get_burn amount: OK
  ✅ validate parameters - burn from pool [firstIdx->0,secondIdx->1,amount->1000,expected->1000]
  ✅ validate parameters - burn from pool [firstIdx->1,secondIdx->0,amount->1000,expected->1000]
  ✅ validate parameters - burn from pool [firstIdx->0,secondIdx->1,amount->10000,expected->10000]
  ✅ validate parameters - burn from pool [firstIdx->0,secondIdx->1,amount->100000,expected->100000]
xyk-rpc - calculate get_burn amount: Missing requirements
  ✅ validate parameters - get_burn from not generated pool [soldTokenId->0,boughtTokenId->1,amount->1000,expected->0]
  ✅ validate parameters - get_burn from not created assets
xyk-rpc - calculate get_burn amount: RPC result matches with burn amount
  ✅ validate get_burn_amount that matches with real burn operation

✅ test/parallel/xyk-rpc.calculate.by.id.test.ts

xyk-rpc - calculate_buy_price_by_id, calculate_sell_price_by_id
  ✅ validate parameters - buy [soldTokenId->0,boughtTokenId->1,amount->0,expected->1]
  ✅ validate parameters - buy [soldTokenId->0,boughtTokenId->1,amount->1,expected->0]
  ✅ validate parameters - buy [soldTokenId->1,boughtTokenId->2,amount->0,expected->1]
  ✅ validate parameters - buy [soldTokenId->1,boughtTokenId->2,amount->1,expected->2]
  ✅ validate parameters - buy [soldTokenId->2,boughtTokenId->1,amount->1,expected->0]
  ✅ validate parameters - buy [soldTokenId->2,boughtTokenId->3,amount->1,expected->3]
  ✅ validate parameters - buy [soldTokenId->3,boughtTokenId->2,amount->1,expected->3]
  ✅ validate parameters - buy [soldTokenId->3,boughtTokenId->2,amount->2,expected->0]
  ✅ validate parameters - sell [soldTokenId->0,boughtTokenId->1,amount->0,expected->0]
  ✅ validate parameters - sell [soldTokenId->0,boughtTokenId->1,amount->1,expected->0]
  ✅ validate parameters - sell [soldTokenId->1,boughtTokenId->2,amount->0,expected->0]
  ✅ validate parameters - sell [soldTokenId->1,boughtTokenId->2,amount->1,expected->0]
  ✅ validate parameters - sell [soldTokenId->2,boughtTokenId->1,amount->1,expected->0]
  ✅ validate parameters - sell [soldTokenId->3,boughtTokenId->2,amount->1,expected->0]
  ✅ validate parameters - sell [soldTokenId->2,boughtTokenId->3,amount->1,expected->0]

✅ test/parallel/xyk-rpc.calculate.test.ts

✅ xyk-rpc - calculate_sell_price and calculate_buy_price matches, 1000,1000
✅ xyk-rpc - calculate_sell_price and calculate_buy_price matches, 2000,1000
✅ xyk-rpc - calculate_sell_price matches with the real sell
✅ xyk-rpc - calculate_buy_price matches with the real buy

✅ test/staking/candidates.staking.test.ts

Test candidates actions
  ✅ A user can become a candidate by joining as candidate
  ✅ A user can only join as candidate with one staking token at the same time
  ✅ A user can not join as candidate with a token that is not enabled ( or MGX )
  ✅ A candidate can select an aggregator by update_candidate_aggregator

✅ test/staking/candidates2.staking.test.ts

Test candidates actions: Collision by liq token
  ✅ A candidate can join to the aggregator list when no more candidate joined with the same staking token

✅ test/staking/sudo.staking.test.ts

Test sudo actions
  ✅ Test that noSudo users cannot do specific operations: addStakingLiquidityToken
  ✅ Test that noSudo users cannot do specific operations: removeStakingLiquidityToken
  ✅ Test that noSudo users cannot do specific operations: setCollatorCommission
  ✅ Test that noSudo users cannot do specific operations: setTotalSelected

✅ test/story/story.LP.test.ts

Story tests > LP
  ✅ Pool wins over 0.3% tokens when 10 swaps are done in the pool [Token - MGA]