Browse Source

integartion-tests: make sure all flows use FixtureRunner

Mokhtar Naamani 4 years ago
parent
commit
a6cfd0952f

+ 3 - 2
tests/network-tests/src/flows/proposals/electionParametersProposal.ts

@@ -1,15 +1,16 @@
 import { Api } from '../../Api'
 import { ElectionParametersProposalFixture } from '../../fixtures/proposalsModule'
 import { assert } from 'chai'
+import { FixtureRunner } from '../../Fixture'
 
 // Election parameters proposal scenario
 export default async function electionParametersProposal(api: Api, env: NodeJS.ProcessEnv) {
   // Pre-Conditions: some members and an elected council
   const council = await api.getCouncil()
-  assert(council.length)
+  assert.notEqual(council.length, 0)
 
   const proposer = council[0].member.toString()
 
   const electionParametersProposalFixture = new ElectionParametersProposalFixture(api, proposer)
-  await electionParametersProposalFixture.runner()
+  await new FixtureRunner(electionParametersProposalFixture).run()
 }

+ 15 - 15
tests/network-tests/src/flows/proposals/manageLeaderRole.ts

@@ -57,7 +57,7 @@ export default async function manageLeaderRole(api: Api, env: NodeJS.ProcessEnv,
     api.getWorkingGroupString(group)
   )
   // Propose create leader opening
-  await createWorkingGroupLeaderOpeningFixture.runner()
+  await new FixtureRunner(createWorkingGroupLeaderOpeningFixture).run()
 
   // Approve add opening proposal
   const voteForCreateOpeningProposalFixture = new VoteForProposalFixture(
@@ -65,7 +65,7 @@ export default async function manageLeaderRole(api: Api, env: NodeJS.ProcessEnv,
     createWorkingGroupLeaderOpeningFixture.getCreatedProposalId() as ProposalId
   )
 
-  await voteForCreateOpeningProposalFixture.runner()
+  await new FixtureRunner(voteForCreateOpeningProposalFixture).run()
   const openingId = api.findOpeningAddedEvent(voteForCreateOpeningProposalFixture.getEvents(), group) as OpeningId
   assert(openingId)
 
@@ -77,7 +77,7 @@ export default async function manageLeaderRole(api: Api, env: NodeJS.ProcessEnv,
     openingId,
     group
   )
-  await applyForLeaderOpeningFixture.runner()
+  await new FixtureRunner(applyForLeaderOpeningFixture).run()
   const applicationId = applyForLeaderOpeningFixture.getApplicationIds()[0]
 
   const beginWorkingGroupLeaderApplicationReviewFixture = new BeginWorkingGroupLeaderApplicationReviewFixture(
@@ -87,13 +87,13 @@ export default async function manageLeaderRole(api: Api, env: NodeJS.ProcessEnv,
     api.getWorkingGroupString(group)
   )
   // Propose begin leader application review
-  await beginWorkingGroupLeaderApplicationReviewFixture.runner()
+  await new FixtureRunner(beginWorkingGroupLeaderApplicationReviewFixture).run()
 
   const voteForBeginReviewProposal = new VoteForProposalFixture(
     api,
     beginWorkingGroupLeaderApplicationReviewFixture.getCreatedProposalId() as ProposalId
   )
-  await voteForBeginReviewProposal.runner()
+  await new FixtureRunner(voteForBeginReviewProposal).run()
 
   const fillLeaderOpeningProposalFixture = new FillLeaderOpeningProposalFixture(
     api,
@@ -106,21 +106,21 @@ export default async function manageLeaderRole(api: Api, env: NodeJS.ProcessEnv,
     group
   )
   // Propose fill leader opening
-  await fillLeaderOpeningProposalFixture.runner()
+  await new FixtureRunner(fillLeaderOpeningProposalFixture).run()
 
   const voteForFillLeaderProposalFixture = new VoteForProposalFixture(
     api,
     fillLeaderOpeningProposalFixture.getCreatedProposalId() as ProposalId
   )
   // Approve fill leader opening
-  await voteForFillLeaderProposalFixture.runner()
+  await new FixtureRunner(voteForFillLeaderProposalFixture).run()
 
   const hiredLead = await api.getGroupLead(group)
   assert(hiredLead)
 
   const setLeaderRewardProposalFixture = new SetLeaderRewardProposalFixture(api, proposer, alteredPayoutAmount, group)
   // Propose leader reward
-  await setLeaderRewardProposalFixture.runner()
+  await new FixtureRunner(setLeaderRewardProposalFixture).run()
 
   const voteForeLeaderRewardFixture = new VoteForProposalFixture(
     api,
@@ -128,7 +128,7 @@ export default async function manageLeaderRole(api: Api, env: NodeJS.ProcessEnv,
   )
 
   // Approve new leader reward
-  await voteForeLeaderRewardFixture.runner()
+  await new FixtureRunner(voteForeLeaderRewardFixture).run()
 
   const leadId = await api.getLeadWorkerId(group)
   // This check is prone to failure if more than one worker's reward amount was updated
@@ -146,7 +146,7 @@ export default async function manageLeaderRole(api: Api, env: NodeJS.ProcessEnv,
   )
 
   // Propose decrease stake
-  await decreaseLeaderStakeProposalFixture.runner()
+  await new FixtureRunner(decreaseLeaderStakeProposalFixture).run()
 
   let newStake: BN = applicationStake.sub(stakeDecrement)
   // Approve decreased leader stake
@@ -154,11 +154,11 @@ export default async function manageLeaderRole(api: Api, env: NodeJS.ProcessEnv,
     api,
     decreaseLeaderStakeProposalFixture.getCreatedProposalId() as ProposalId
   )
-  await voteForDecreaseStakeProposal.runner()
+  await new FixtureRunner(voteForDecreaseStakeProposal).run()
 
   const slashLeaderProposalFixture = new SlashLeaderProposalFixture(api, proposer, slashAmount, group)
   // Propose leader slash
-  await slashLeaderProposalFixture.runner()
+  await new FixtureRunner(slashLeaderProposalFixture).run()
 
   // Approve leader slash
   newStake = newStake.sub(slashAmount)
@@ -166,17 +166,17 @@ export default async function manageLeaderRole(api: Api, env: NodeJS.ProcessEnv,
     api,
     slashLeaderProposalFixture.getCreatedProposalId() as ProposalId
   )
-  await voteForSlashProposalFixture.runner()
+  await new FixtureRunner(voteForSlashProposalFixture).run()
 
   const terminateLeaderRoleProposalFixture = new TerminateLeaderRoleProposalFixture(api, proposer, false, group)
   // Propose terminate leader role
-  await terminateLeaderRoleProposalFixture.runner()
+  await new FixtureRunner(terminateLeaderRoleProposalFixture).run()
 
   const voteForLeaderRoleTerminationFixture = new VoteForProposalFixture(
     api,
     terminateLeaderRoleProposalFixture.getCreatedProposalId() as ProposalId
   )
-  await voteForLeaderRoleTerminationFixture.runner()
+  await new FixtureRunner(voteForLeaderRoleTerminationFixture).run()
 
   const maybeLead = await api.getGroupLead(group)
   assert(!maybeLead)

+ 2 - 1
tests/network-tests/src/flows/proposals/spendingProposal.ts

@@ -2,6 +2,7 @@ import BN from 'bn.js'
 import { Api } from '../../Api'
 import { SpendingProposalFixture } from '../../fixtures/proposalsModule'
 import { assert } from 'chai'
+import { FixtureRunner } from '../../Fixture'
 
 export default async function spendingProposal(api: Api, env: NodeJS.ProcessEnv) {
   const spendingBalance: BN = new BN(+env.SPENDING_BALANCE!)
@@ -16,5 +17,5 @@ export default async function spendingProposal(api: Api, env: NodeJS.ProcessEnv)
   const spendingProposalFixture = new SpendingProposalFixture(api, proposer, spendingBalance, mintCapacity)
 
   // Spending proposal test
-  await spendingProposalFixture.runner()
+  await new FixtureRunner(spendingProposalFixture).run()
 }

+ 2 - 1
tests/network-tests/src/flows/proposals/textProposal.ts

@@ -1,6 +1,7 @@
 import { Api } from '../../Api'
 import { TextProposalFixture } from '../../fixtures/proposalsModule'
 import { assert } from 'chai'
+import { FixtureRunner } from '../../Fixture'
 
 export default async function textProposal(api: Api, env: NodeJS.ProcessEnv) {
   // Pre-conditions: members and council
@@ -10,5 +11,5 @@ export default async function textProposal(api: Api, env: NodeJS.ProcessEnv) {
   const proposer = council[0].member.toString()
 
   const textProposalFixture: TextProposalFixture = new TextProposalFixture(api, proposer)
-  await textProposalFixture.runner()
+  await new FixtureRunner(textProposalFixture).run()
 }

+ 3 - 2
tests/network-tests/src/flows/proposals/updateRuntime.ts

@@ -4,6 +4,7 @@ import { BuyMembershipHappyCaseFixture } from '../../fixtures/membershipModule'
 import { UpdateRuntimeFixture } from '../../fixtures/proposalsModule'
 import { PaidTermId } from '@joystream/types/members'
 import { assert } from 'chai'
+import { FixtureRunner } from '../../Fixture'
 
 export default async function updateRuntime(api: Api, env: NodeJS.ProcessEnv) {
   const paidTerms: PaidTermId = api.createPaidTermId(new BN(+env.MEMBERSHIP_PAID_TERMS!))
@@ -16,7 +17,7 @@ export default async function updateRuntime(api: Api, env: NodeJS.ProcessEnv) {
   const proposer = council[0].member.toString()
 
   const updateRuntimeFixture: UpdateRuntimeFixture = new UpdateRuntimeFixture(api, proposer, runtimePath)
-  await updateRuntimeFixture.runner()
+  await new FixtureRunner(updateRuntimeFixture).run()
 
   // Some tests after runtime update
   const createMembershipsFixture = new BuyMembershipHappyCaseFixture(
@@ -24,5 +25,5 @@ export default async function updateRuntime(api: Api, env: NodeJS.ProcessEnv) {
     api.createKeyPairs(1).map((key) => key.address),
     paidTerms
   )
-  await createMembershipsFixture.runner()
+  await new FixtureRunner(createMembershipsFixture).run()
 }

+ 2 - 1
tests/network-tests/src/flows/proposals/validatorCountProposal.ts

@@ -2,6 +2,7 @@ import BN from 'bn.js'
 import { Api } from '../../Api'
 import { ValidatorCountProposalFixture } from '../../fixtures/proposalsModule'
 import { assert } from 'chai'
+import { FixtureRunner } from '../../Fixture'
 
 export default async function validatorCount(api: Api, env: NodeJS.ProcessEnv) {
   // Pre-conditions: members and council
@@ -17,5 +18,5 @@ export default async function validatorCount(api: Api, env: NodeJS.ProcessEnv) {
     proposer,
     validatorCountIncrement
   )
-  await validatorCountProposalFixture.runner()
+  await new FixtureRunner(validatorCountProposalFixture).run()
 }

+ 3 - 2
tests/network-tests/src/flows/proposals/workingGroupMintCapacityProposal.ts

@@ -3,6 +3,7 @@ import { Api, WorkingGroups } from '../../Api'
 import { VoteForProposalFixture, WorkingGroupMintCapacityProposalFixture } from '../../fixtures/proposalsModule'
 import { ProposalId } from '@joystream/types/proposals'
 import { assert } from 'chai'
+import { FixtureRunner } from '../../Fixture'
 
 export default async function workingGroupMintCapactiy(api: Api, env: NodeJS.ProcessEnv, group: WorkingGroups) {
   const mintCapacityIncrement: BN = new BN(env.MINT_CAPACITY_INCREMENT!)
@@ -20,7 +21,7 @@ export default async function workingGroupMintCapactiy(api: Api, env: NodeJS.Pro
     group
   )
   // Propose mint capacity
-  await workingGroupMintCapacityProposalFixture.runner()
+  await new FixtureRunner(workingGroupMintCapacityProposalFixture).run()
 
   const voteForProposalFixture: VoteForProposalFixture = new VoteForProposalFixture(
     api,
@@ -28,5 +29,5 @@ export default async function workingGroupMintCapactiy(api: Api, env: NodeJS.Pro
   )
 
   // Approve mint capacity
-  await voteForProposalFixture.runner()
+  await new FixtureRunner(voteForProposalFixture).run()
 }

+ 4 - 2
tests/network-tests/src/flows/workingGroup/atLeastValueBug.ts

@@ -3,6 +3,8 @@ import { AddWorkerOpeningFixture } from '../../fixtures/workingGroupModule'
 import BN from 'bn.js'
 import { assert } from 'chai'
 import Debugger from 'debug'
+import { FixtureRunner } from '../../Fixture'
+
 const debug = Debugger('flow:atLeastValueBug')
 
 // Zero at least value bug scenario
@@ -28,7 +30,7 @@ export default async function zeroAtLeastValueBug(api: Api, env: NodeJS.ProcessE
   )
 
   // Add worker opening with 0 stake, expect failure!
-  await addWorkerOpeningWithoutStakeFixture.runner()
+  await new FixtureRunner(addWorkerOpeningWithoutStakeFixture).run()
   assert.equal(
     addWorkerOpeningWithoutStakeFixture.getCreatedOpeningId(),
     undefined,
@@ -45,7 +47,7 @@ export default async function zeroAtLeastValueBug(api: Api, env: NodeJS.ProcessE
   )
 
   // Add worker opening with 0 unstaking period, expect failure!
-  await addWorkerOpeningWithoutUnstakingPeriodFixture.runner()
+  await new FixtureRunner(addWorkerOpeningWithoutUnstakingPeriodFixture).run()
   assert.equal(
     addWorkerOpeningWithoutUnstakingPeriodFixture.getCreatedOpeningId(),
     undefined,

+ 2 - 1
tests/network-tests/src/flows/workingGroup/leaderSetup.ts

@@ -4,6 +4,7 @@ import { PaidTermId } from '@joystream/types/members'
 import { SudoHireLeadFixture } from '../../fixtures/sudoHireLead'
 import { assert } from 'chai'
 import { KeyringPair } from '@polkadot/keyring/types'
+import { FixtureRunner } from '../../Fixture'
 
 // Worker application happy case scenario
 export default async function leaderSetup(
@@ -36,7 +37,7 @@ export default async function leaderSetup(
     payoutAmount,
     group
   )
-  await leaderHiringHappyCaseFixture.runner()
+  await new FixtureRunner(leaderHiringHappyCaseFixture).run()
 
   const hiredLead = await api.getGroupLead(group)
   assert(hiredLead, `${group} group Lead was not hired!`)

+ 9 - 8
tests/network-tests/src/flows/workingGroup/manageWorkerAsLead.ts

@@ -13,6 +13,7 @@ import BN from 'bn.js'
 import { OpeningId } from '@joystream/types/hiring'
 import { assert } from 'chai'
 import Debugger from 'debug'
+import { FixtureRunner } from '../../Fixture'
 
 // Manage worker as lead scenario
 export default async function manageWorker(api: Api, env: NodeJS.ProcessEnv, group: WorkingGroups) {
@@ -31,7 +32,7 @@ export default async function manageWorker(api: Api, env: NodeJS.ProcessEnv, gro
 
   const applicants = api.createKeyPairs(5).map((key) => key.address)
   const memberSetFixture = new BuyMembershipHappyCaseFixture(api, applicants, paidTerms)
-  await memberSetFixture.runner()
+  await new FixtureRunner(memberSetFixture).run()
 
   const addWorkerOpeningFixture: AddWorkerOpeningFixture = new AddWorkerOpeningFixture(
     api,
@@ -42,7 +43,7 @@ export default async function manageWorker(api: Api, env: NodeJS.ProcessEnv, gro
     group
   )
   // Add worker opening
-  await addWorkerOpeningFixture.runner()
+  await new FixtureRunner(addWorkerOpeningFixture).run()
 
   // First apply for worker opening
   const applyForWorkerOpeningFixture = new ApplyForOpeningFixture(
@@ -53,7 +54,7 @@ export default async function manageWorker(api: Api, env: NodeJS.ProcessEnv, gro
     addWorkerOpeningFixture.getCreatedOpeningId() as OpeningId,
     group
   )
-  await applyForWorkerOpeningFixture.runner()
+  await new FixtureRunner(applyForWorkerOpeningFixture).run()
 
   const applicationIdsToHire = applyForWorkerOpeningFixture.getApplicationIds().slice(0, 2)
 
@@ -63,7 +64,7 @@ export default async function manageWorker(api: Api, env: NodeJS.ProcessEnv, gro
     addWorkerOpeningFixture.getCreatedOpeningId() as OpeningId,
     group
   )
-  await beginApplicationReviewFixture.runner()
+  await new FixtureRunner(beginApplicationReviewFixture).run()
 
   // Fill worker opening
   const fillOpeningFixture = new FillOpeningFixture(
@@ -75,20 +76,20 @@ export default async function manageWorker(api: Api, env: NodeJS.ProcessEnv, gro
     payoutAmount,
     group
   )
-  await fillOpeningFixture.runner()
+  await new FixtureRunner(fillOpeningFixture).run()
 
   const firstWorkerId = fillOpeningFixture.getWorkerIds()[0]
 
   const decreaseStakeFixture = new DecreaseStakeFixture(api, firstWorkerId, group)
   // Decrease worker stake
-  await decreaseStakeFixture.runner()
+  await new FixtureRunner(decreaseStakeFixture).run()
 
   const slashFixture: SlashFixture = new SlashFixture(api, firstWorkerId, group)
   // Slash worker
-  await slashFixture.runner()
+  await new FixtureRunner(slashFixture).run()
 
   const terminateRoleFixture = new TerminateRoleFixture(api, firstWorkerId, group)
 
   // Terminate workers
-  await terminateRoleFixture.runner()
+  await new FixtureRunner(terminateRoleFixture).run()
 }

+ 9 - 8
tests/network-tests/src/flows/workingGroup/manageWorkerAsWorker.ts

@@ -11,6 +11,7 @@ import BN from 'bn.js'
 import { OpeningId } from '@joystream/types/hiring'
 import { BuyMembershipHappyCaseFixture } from '../../fixtures/membershipModule'
 import { assert } from 'chai'
+import { FixtureRunner } from '../../Fixture'
 
 // Manage worker as worker
 export default async function manageWorkerAsWorker(api: Api, env: NodeJS.ProcessEnv, group: WorkingGroups) {
@@ -30,7 +31,7 @@ export default async function manageWorkerAsWorker(api: Api, env: NodeJS.Process
 
   const memberSetFixture = new BuyMembershipHappyCaseFixture(api, newMembers, paidTerms)
   // Recreating set of members
-  await memberSetFixture.runner()
+  await new FixtureRunner(memberSetFixture).run()
   const applicant = newMembers[0]
 
   const addWorkerOpeningFixture = new AddWorkerOpeningFixture(
@@ -42,7 +43,7 @@ export default async function manageWorkerAsWorker(api: Api, env: NodeJS.Process
     group
   )
   // Add worker opening
-  await addWorkerOpeningFixture.runner()
+  await new FixtureRunner(addWorkerOpeningFixture).run()
 
   // First apply for worker opening
   const applyForWorkerOpeningFixture = new ApplyForOpeningFixture(
@@ -53,7 +54,7 @@ export default async function manageWorkerAsWorker(api: Api, env: NodeJS.Process
     addWorkerOpeningFixture.getCreatedOpeningId() as OpeningId,
     group
   )
-  await applyForWorkerOpeningFixture.runner()
+  await new FixtureRunner(applyForWorkerOpeningFixture).run()
   const applicationIdToHire = applyForWorkerOpeningFixture.getApplicationIds()[0]
 
   // Begin application review
@@ -62,7 +63,7 @@ export default async function manageWorkerAsWorker(api: Api, env: NodeJS.Process
     addWorkerOpeningFixture.getCreatedOpeningId() as OpeningId,
     group
   )
-  await beginApplicationReviewFixture.runner()
+  await new FixtureRunner(beginApplicationReviewFixture).run()
 
   // Fill worker opening
   const fillOpeningFixture = new FillOpeningFixture(
@@ -74,17 +75,17 @@ export default async function manageWorkerAsWorker(api: Api, env: NodeJS.Process
     payoutAmount,
     group
   )
-  await fillOpeningFixture.runner()
+  await new FixtureRunner(fillOpeningFixture).run()
   const workerId = fillOpeningFixture.getWorkerIds()[0]
   const increaseStakeFixture: IncreaseStakeFixture = new IncreaseStakeFixture(api, workerId, group)
   // Increase worker stake
-  await increaseStakeFixture.runner()
+  await new FixtureRunner(increaseStakeFixture).run()
 
   const updateRewardAccountFixture: UpdateRewardAccountFixture = new UpdateRewardAccountFixture(api, workerId, group)
   // Update reward account
-  await updateRewardAccountFixture.runner()
+  await new FixtureRunner(updateRewardAccountFixture).run()
 
   const updateRoleAccountFixture: UpdateRewardAccountFixture = new UpdateRewardAccountFixture(api, workerId, group)
   // Update role account
-  await updateRoleAccountFixture.runner()
+  await new FixtureRunner(updateRoleAccountFixture).run()
 }

+ 9 - 8
tests/network-tests/src/flows/workingGroup/workerPayout.ts

@@ -13,6 +13,7 @@ import { OpeningId } from '@joystream/types/hiring'
 import { ProposalId } from '@joystream/types/proposals'
 import { BuyMembershipHappyCaseFixture } from '../../fixtures/membershipModule'
 import { assert } from 'chai'
+import { FixtureRunner } from '../../Fixture'
 
 // Worker payout scenario
 export default async function workerPayouts(api: Api, env: NodeJS.ProcessEnv, group: WorkingGroups) {
@@ -31,7 +32,7 @@ export default async function workerPayouts(api: Api, env: NodeJS.ProcessEnv, gr
 
   const memberSetFixture = new BuyMembershipHappyCaseFixture(api, newMembers, paidTerms)
   // Recreating set of members
-  await memberSetFixture.runner()
+  await new FixtureRunner(memberSetFixture).run()
 
   const workingGroupMintCapacityProposalFixture = new WorkingGroupMintCapacityProposalFixture(
     api,
@@ -40,14 +41,14 @@ export default async function workerPayouts(api: Api, env: NodeJS.ProcessEnv, gr
     group
   )
   // Propose mint capacity
-  await workingGroupMintCapacityProposalFixture.runner()
+  await new FixtureRunner(workingGroupMintCapacityProposalFixture).run()
 
   // Approve mint capacity
   const voteForProposalFixture = new VoteForProposalFixture(
     api,
     workingGroupMintCapacityProposalFixture.getCreatedProposalId() as ProposalId
   )
-  await voteForProposalFixture.runner()
+  await new FixtureRunner(voteForProposalFixture).run()
 
   const addWorkerOpeningFixture = new AddWorkerOpeningFixture(
     api,
@@ -58,7 +59,7 @@ export default async function workerPayouts(api: Api, env: NodeJS.ProcessEnv, gr
     group
   )
   // Add worker opening
-  await addWorkerOpeningFixture.runner()
+  await new FixtureRunner(addWorkerOpeningFixture).run()
 
   // First apply for worker opening
   const applyForWorkerOpeningFixture = new ApplyForOpeningFixture(
@@ -69,7 +70,7 @@ export default async function workerPayouts(api: Api, env: NodeJS.ProcessEnv, gr
     addWorkerOpeningFixture.getCreatedOpeningId() as OpeningId,
     group
   )
-  await applyForWorkerOpeningFixture.runner()
+  await new FixtureRunner(applyForWorkerOpeningFixture).run()
   const applicationId = applyForWorkerOpeningFixture.getApplicationIds()[0]
 
   // Begin application review
@@ -78,7 +79,7 @@ export default async function workerPayouts(api: Api, env: NodeJS.ProcessEnv, gr
     addWorkerOpeningFixture.getCreatedOpeningId() as OpeningId,
     group
   )
-  await beginApplicationReviewFixture.runner()
+  await new FixtureRunner(beginApplicationReviewFixture).run()
 
   // Fill worker opening
   const fillOpeningFixture = new FillOpeningFixture(
@@ -90,9 +91,9 @@ export default async function workerPayouts(api: Api, env: NodeJS.ProcessEnv, gr
     payoutAmount,
     group
   )
-  await fillOpeningFixture.runner()
+  await new FixtureRunner(fillOpeningFixture).run()
   const workerId = fillOpeningFixture.getWorkerIds()[0]
   const awaitPayoutFixture: AwaitPayoutFixture = new AwaitPayoutFixture(api, workerId, group)
   // Await worker payout
-  await awaitPayoutFixture.runner()
+  await new FixtureRunner(awaitPayoutFixture).run()
 }