Add tests

This commit is contained in:
Yemel Jardi 2014-07-08 11:52:24 -03:00
commit 4303b0beab
2 changed files with 73 additions and 3 deletions

View file

@ -29,9 +29,11 @@ var createW = function(networkName) {
var copayers = []; var copayers = [];
for (var i = 0; i < 5; i++) { for (var i = 0; i < 5; i++) {
w.isComplete().should.equal(false); w.isComplete().should.equal(false);
w.remainingCopayers().should.equal(5-i);
var newEpk = w.addCopayer(); var newEpk = w.addCopayer();
copayers.push(newEpk); copayers.push(newEpk);
} }
w.isComplete().should.equal(true);
w.walletId = '1234567'; w.walletId = '1234567';
return { return {
@ -176,6 +178,63 @@ describe('PublicKeyRing model', function() {
w.getIndex(k.pub).getReceiveIndex().should.equal(2); w.getIndex(k.pub).getReceiveIndex().should.equal(2);
}); });
it('should set backup ready', function() {
var w = createW().w;
w.isBackupReady().should.equal(false);
w.setBackupReady();
w.isBackupReady().should.equal(true);
});
it('should set backup ready', function() {
var w = createW().w;
w.isBackupReady().should.equal(false);
w.setBackupReady();
w.isBackupReady().should.equal(true);
});
it('should check for other backups', function() {
var w = createW().w;
w.remainingBackups().should.equal(5);
w.isFullyBackup().should.equal(false);
w.setBackupReady();
w.remainingBackups().should.equal(4);
w.isFullyBackup().should.equal(false);
w.copayersBackup = ["a", "b", "c", "d", "e"];
w.remainingBackups().should.equal(0);
w.isFullyBackup().should.equal(true);
});
it('should merge backup', function() {
var w = createW().w;
w.copayersBackup = ["a", "b"];
var hasChanged = w.mergeBackups(["b", "c"]);
w.copayersBackup.length.should.equal(3);
hasChanged.should.equal(true);
w.copayersBackup = ["a", "b", "c"];
var hasChanged = w.mergeBackups(["b", "c"]);
w.copayersBackup.length.should.equal(3);
hasChanged.should.equal(false);
});
it('should merge backup tests', function() {
var w = createW().w;
var w2 = new PublicKeyRing({
networkName: 'livenet',
walletId: w.walletId,
});
w.merge(w2).should.equal(false);
w.remainingBackups().should.equal(5);
w2.setBackupReady();
w.merge(w2).should.equal(true);
w.remainingBackups().should.equal(4);
});
it('#merge index tests', function() { it('#merge index tests', function() {
var k = createW(); var k = createW();
var w = k.w; var w = k.w;
@ -195,7 +254,6 @@ describe('PublicKeyRing model', function() {
w2.getIndex(k.pub).getChangeIndex().should.equal(2); w2.getIndex(k.pub).getChangeIndex().should.equal(2);
w2.getIndex(k.pub).getReceiveIndex().should.equal(3); w2.getIndex(k.pub).getReceiveIndex().should.equal(3);
//
w2.merge(w).should.equal(false); w2.merge(w).should.equal(false);
}); });
@ -267,8 +325,6 @@ describe('PublicKeyRing model', function() {
(function() { (function() {
w.merge(wx); w.merge(wx);
}).should.throw(); }).should.throw();
}); });

View file

@ -360,6 +360,20 @@ describe('Wallet model', function() {
}, w.reconnectDelay * callCount * (callCount + 1) / 2); }, w.reconnectDelay * callCount * (callCount + 1) / 2);
}); });
it('#isReady', function() {
var w = createW();
w.publicKeyRing.isComplete().should.equal(false);
w.isReady().should.equal(false);
var w2 = createW2();
w2.publicKeyRing.isComplete().should.equal(true);
w2.isReady().should.equal(false);
w2.publicKeyRing.copayersBackup = ["a", "b", "c"];
w2.publicKeyRing.isFullyBackup().should.equal(true);
w2.isReady().should.equal(true);
});
it('handle network indexes correctly', function() { it('handle network indexes correctly', function() {
var w = createW(); var w = createW();
var aiObj = { var aiObj = {