Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
wants to merge 23 commits into from

Merge branch 'develop' into feature/runWithchops

0c2aac7
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Closed

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

Merge branch 'develop' into feature/runWithchops
0c2aac7
Select commit
Loading
Failed to load commit list.
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]