Browse Source

Fix LeadAuthFailedError

iorveth 4 years ago
parent
commit
8e80c8d87a

+ 3 - 3
tests/network-tests/src/Api.ts

@@ -1943,10 +1943,10 @@ export class Api {
       { Member: memberId }, // We use member with id 0 as actor (in this case we assume this is Alice)
       operations // We provide parsed operations as second argument
     )
-    .signAndSend(this.keyring.getPairs()[0])
+    .signAndSend(this.createKeyPairs(1)[0])
   }
 
-  public async initializeContentDirectory() {
-    initializeContentDir(this.api, this.keyring.getPairs()[0])
+  public async initializeContentDirectory(leadKeyPair: KeyringPair) {
+    await initializeContentDir(this.api,  leadKeyPair)
   }
 }

+ 3 - 2
tests/network-tests/src/flows/contentDirectory/contentDirectoryInitialization.ts

@@ -1,7 +1,8 @@
 import { Api, WorkingGroups } from '../../Api'
 import { createSimpleChannelFixture } from '../../fixtures/contentDirectoryModule'
 import { assert } from 'chai'
+import { KeyringPair } from '@polkadot/keyring/types'
 
-export default async function initializeContentDirectory(api: Api) {
-    await api.initializeContentDirectory()
+export default async function initializeContentDirectory(api: Api, leadKeyPair: KeyringPair) {
+    await api.initializeContentDirectory(leadKeyPair)
 }

+ 6 - 4
tests/network-tests/src/flows/workingGroup/leaderSetup.ts

@@ -3,13 +3,13 @@ import BN from 'bn.js'
 import { PaidTermId } from '@joystream/types/members'
 import { SudoHireLeadFixture } from '../../fixtures/sudoHireLead'
 import { assert } from 'chai'
+import { KeyringPair } from '@polkadot/keyring/types'
 
 // Worker application happy case scenario
-export default async function leaderSetup(api: Api, env: NodeJS.ProcessEnv, group: WorkingGroups) {
+export default async function leaderSetup(api: Api, env: NodeJS.ProcessEnv, group: WorkingGroups): Promise<KeyringPair> {
   const lead = await api.getGroupLead(group)
-  if (lead) {
-    return
-  }
+
+  assert(!lead, `Lead is already set`)
 
   const leadKeyPair = api.createKeyPairs(1)[0]
   const paidTerms: PaidTermId = api.createPaidTermId(new BN(+env.MEMBERSHIP_PAID_TERMS!))
@@ -37,4 +37,6 @@ export default async function leaderSetup(api: Api, env: NodeJS.ProcessEnv, grou
   const hiredLead = await api.getGroupLead(group)
   assert(hiredLead, `${group} group Lead was not hired!`)
   assert(hiredLead!.role_account_id.eq(leadKeyPair.address))
+
+  return leadKeyPair
 }

+ 2 - 2
tests/network-tests/src/scenarios/content-directory.ts

@@ -15,12 +15,12 @@ const scenario = async () => {
   const provider = new WsProvider(nodeUrl)
   const api: Api = await Api.create(provider, env.TREASURY_ACCOUNT_URI || '//Alice', env.SUDO_ACCOUNT_URI || '//Alice')
 
-  await leaderSetup(api, env, WorkingGroups.ContentDirectoryWorkingGroup)
+  const leadKeyPair = await leaderSetup(api, env, WorkingGroups.ContentDirectoryWorkingGroup)
 
   // Some flows that use the curator lead to perform some tests...
   //
 
-  await initializeContentDirectory(api)
+  await initializeContentDirectory(api, leadKeyPair)
 
   await createChannel(api)