Skip to content

Commit 1520162

Browse files
committed
Fixed a few issues on e2e with dragon features
1 parent 3513441 commit 1520162

File tree

2 files changed

+185
-6
lines changed

2 files changed

+185
-6
lines changed

e2e/infrastructure/AccountHttp.spec.ts

Lines changed: 54 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ import {NetworkType} from '../../src/model/blockchain/NetworkType';
2828
import { NetworkCurrencyMosaic } from '../../src/model/mosaic/NetworkCurrencyMosaic';
2929
import { AccountPropertyModification } from '../../src/model/transaction/AccountPropertyModification';
3030
import { AccountPropertyTransaction } from '../../src/model/transaction/AccountPropertyTransaction';
31+
import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction';
3132
import { Deadline } from '../../src/model/transaction/Deadline';
3233
import { ModifyMultisigAccountTransaction } from '../../src/model/transaction/ModifyMultisigAccountTransaction';
3334
import { MultisigCosignatoryModification } from '../../src/model/transaction/MultisigCosignatoryModification';
3435
import { MultisigCosignatoryModificationType } from '../../src/model/transaction/MultisigCosignatoryModificationType';
3536
import { PlainMessage } from '../../src/model/transaction/PlainMessage';
3637
import { TransferTransaction } from '../../src/model/transaction/TransferTransaction';
37-
import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction';
3838

3939
describe('AccountHttp', () => {
4040
let account: Account;
@@ -217,7 +217,7 @@ describe('AccountHttp', () => {
217217
transactionHttp.announce(signedTransaction);
218218
});
219219
});
220-
describe('ModifyMultisigAccountTransaction', () => {
220+
describe('ModifyMultisigAccountTransaction - Create multisig account', () => {
221221
let listener: Listener;
222222
before (() => {
223223
listener = new Listener(config.apiUrl);
@@ -277,12 +277,60 @@ describe('AccountHttp', () => {
277277
}, 1000);
278278
});
279279
});
280-
describe('incomingTransactions', () => {
281-
it('should call incomingTransactions successfully', (done) => {
282-
accountHttp.incomingTransactions(publicAccount).subscribe((transactions) => {
283-
expect(transactions.length).to.be.greaterThan(0);
280+
281+
describe('ModifyMultisigAccountTransaction - Restore multisig Accounts', () => {
282+
let listener: Listener;
283+
before (() => {
284+
listener = new Listener(config.apiUrl);
285+
return listener.open();
286+
});
287+
after(() => {
288+
return listener.close();
289+
});
290+
it('Restore Multisig Account', (done) => {
291+
const removeCosigner1 = ModifyMultisigAccountTransaction.create(
292+
Deadline.create(),
293+
-1,
294+
0,
295+
[ new MultisigCosignatoryModification(MultisigCosignatoryModificationType.Remove, cosignAccount1.publicAccount),
296+
],
297+
NetworkType.MIJIN_TEST,
298+
);
299+
const removeCosigner2 = ModifyMultisigAccountTransaction.create(
300+
Deadline.create(),
301+
0,
302+
0,
303+
[ new MultisigCosignatoryModification(MultisigCosignatoryModificationType.Remove, cosignAccount2.publicAccount),
304+
],
305+
NetworkType.MIJIN_TEST,
306+
);
307+
308+
const removeCosigner3 = ModifyMultisigAccountTransaction.create(
309+
Deadline.create(),
310+
-1,
311+
-1,
312+
[ new MultisigCosignatoryModification(MultisigCosignatoryModificationType.Remove, cosignAccount3.publicAccount),
313+
],
314+
NetworkType.MIJIN_TEST,
315+
);
316+
317+
const aggregateTransaction = AggregateTransaction.createComplete(Deadline.create(),
318+
[removeCosigner1.toAggregate(multisigAccount.publicAccount),
319+
removeCosigner2.toAggregate(multisigAccount.publicAccount),
320+
removeCosigner3.toAggregate(multisigAccount.publicAccount)],
321+
NetworkType.MIJIN_TEST,
322+
[]);
323+
const signedTransaction = aggregateTransaction
324+
.signTransactionWithCosignatories(cosignAccount1, [cosignAccount2, cosignAccount3]);
325+
326+
listener.confirmed(multisigAccount.address).subscribe((transaction) => {
284327
done();
285328
});
329+
listener.status(multisigAccount.address).subscribe((error) => {
330+
console.log('Error:', error);
331+
done();
332+
});
333+
transactionHttp.announce(signedTransaction);
286334
});
287335
});
288336

e2e/infrastructure/Listener.spec.ts

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,15 @@ import { NetworkType } from '../../src/model/blockchain/NetworkType';
2323
import { MosaicId } from '../../src/model/mosaic/MosaicId';
2424
import { NetworkCurrencyMosaic } from '../../src/model/mosaic/NetworkCurrencyMosaic';
2525
import { NamespaceId } from '../../src/model/namespace/NamespaceId';
26+
import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction';
2627
import { Deadline } from '../../src/model/transaction/Deadline';
2728
import { ModifyMultisigAccountTransaction } from '../../src/model/transaction/ModifyMultisigAccountTransaction';
2829
import { MultisigCosignatoryModification } from '../../src/model/transaction/MultisigCosignatoryModification';
2930
import { MultisigCosignatoryModificationType } from '../../src/model/transaction/MultisigCosignatoryModificationType';
3031
import { TransactionUtils } from './TransactionUtils';
32+
import { TransferTransaction } from '../../src/model/transaction/TransferTransaction';
33+
import { PlainMessage } from '../../src/model/transaction/PlainMessage';
34+
import { Mosaic, UInt64 } from '../../src/model/model';
3135

3236
describe('Listener', () => {
3337

@@ -165,6 +169,77 @@ describe('Listener', () => {
165169
});
166170
});
167171

172+
describe('TransferTransaction', () => {
173+
let listener: Listener;
174+
before (() => {
175+
listener = new Listener(config.apiUrl);
176+
return listener.open();
177+
});
178+
after(() => {
179+
return listener.close();
180+
});
181+
182+
it('standalone', (done) => {
183+
const transferTransaction = TransferTransaction.create(
184+
Deadline.create(),
185+
cosignAccount1.address,
186+
[new Mosaic(networkCurrencyMosaicId, UInt64.fromUint(10 * Math.pow(10, NetworkCurrencyMosaic.DIVISIBILITY)))],
187+
PlainMessage.create('test-message'),
188+
NetworkType.MIJIN_TEST,
189+
);
190+
const signedTransaction = transferTransaction.signWith(account);
191+
192+
listener.confirmed(account.address).subscribe((transaction) => {
193+
done();
194+
});
195+
listener.status(account.address).subscribe((error) => {
196+
console.log('Error:', error);
197+
assert(false);
198+
done();
199+
});
200+
transactionHttp.announce(signedTransaction);
201+
});
202+
});
203+
204+
describe('ModifyMultisigAccountTransaction - Create multisig account', () => {
205+
let listener: Listener;
206+
before (() => {
207+
listener = new Listener(config.apiUrl);
208+
return listener.open();
209+
});
210+
after(() => {
211+
return listener.close();
212+
});
213+
it('ModifyMultisigAccountTransaction', (done) => {
214+
const modifyMultisigAccountTransaction = ModifyMultisigAccountTransaction.create(
215+
Deadline.create(),
216+
2,
217+
1,
218+
[ new MultisigCosignatoryModification(MultisigCosignatoryModificationType.Add, cosignAccount1.publicAccount),
219+
new MultisigCosignatoryModification(MultisigCosignatoryModificationType.Add, cosignAccount2.publicAccount),
220+
new MultisigCosignatoryModification(MultisigCosignatoryModificationType.Add, cosignAccount3.publicAccount),
221+
],
222+
NetworkType.MIJIN_TEST,
223+
);
224+
225+
const aggregateTransaction = AggregateTransaction.createComplete(Deadline.create(),
226+
[modifyMultisigAccountTransaction.toAggregate(multisigAccount.publicAccount)],
227+
NetworkType.MIJIN_TEST,
228+
[]);
229+
const signedTransaction = aggregateTransaction
230+
.signTransactionWithCosignatories(multisigAccount, [cosignAccount1, cosignAccount2, cosignAccount3]);
231+
232+
listener.confirmed(multisigAccount.address).subscribe((transaction) => {
233+
done();
234+
});
235+
listener.status(multisigAccount.address).subscribe((error) => {
236+
console.log('Error:', error);
237+
done();
238+
});
239+
transactionHttp.announce(signedTransaction);
240+
});
241+
});
242+
168243
describe('Aggregate Bonded Transactions', () => {
169244
let listener: Listener;
170245
before (() => {
@@ -266,6 +341,62 @@ describe('Listener', () => {
266341
});
267342
});
268343

344+
describe('ModifyMultisigAccountTransaction - Restore multisig Accounts', () => {
345+
let listener: Listener;
346+
before (() => {
347+
listener = new Listener(config.apiUrl);
348+
return listener.open();
349+
});
350+
after(() => {
351+
return listener.close();
352+
});
353+
it('Restore Multisig Account', (done) => {
354+
const removeCosigner1 = ModifyMultisigAccountTransaction.create(
355+
Deadline.create(),
356+
-1,
357+
0,
358+
[ new MultisigCosignatoryModification(MultisigCosignatoryModificationType.Remove, cosignAccount1.publicAccount),
359+
],
360+
NetworkType.MIJIN_TEST,
361+
);
362+
const removeCosigner2 = ModifyMultisigAccountTransaction.create(
363+
Deadline.create(),
364+
0,
365+
0,
366+
[ new MultisigCosignatoryModification(MultisigCosignatoryModificationType.Remove, cosignAccount2.publicAccount),
367+
],
368+
NetworkType.MIJIN_TEST,
369+
);
370+
371+
const removeCosigner3 = ModifyMultisigAccountTransaction.create(
372+
Deadline.create(),
373+
-1,
374+
-1,
375+
[ new MultisigCosignatoryModification(MultisigCosignatoryModificationType.Remove, cosignAccount3.publicAccount),
376+
],
377+
NetworkType.MIJIN_TEST,
378+
);
379+
380+
const aggregateTransaction = AggregateTransaction.createComplete(Deadline.create(),
381+
[removeCosigner1.toAggregate(multisigAccount.publicAccount),
382+
removeCosigner2.toAggregate(multisigAccount.publicAccount),
383+
removeCosigner3.toAggregate(multisigAccount.publicAccount)],
384+
NetworkType.MIJIN_TEST,
385+
[]);
386+
const signedTransaction = aggregateTransaction
387+
.signTransactionWithCosignatories(cosignAccount1, [cosignAccount2, cosignAccount3]);
388+
389+
listener.confirmed(multisigAccount.address).subscribe((transaction) => {
390+
done();
391+
});
392+
listener.status(multisigAccount.address).subscribe((error) => {
393+
console.log('Error:', error);
394+
done();
395+
});
396+
transactionHttp.announce(signedTransaction);
397+
});
398+
});
399+
269400
describe('Transactions Status', () => {
270401
let listener: Listener;
271402
before (() => {

0 commit comments

Comments
 (0)