make mocha browser tests all run with no console errors

...except Wallet and WalletFactory.
This commit is contained in:
Ryan X. Charles 2014-06-15 20:55:23 -07:00
parent 9e79e58c35
commit f7e34acae8
14 changed files with 85 additions and 39 deletions

View File

@ -1,4 +1,3 @@
// core // core
module.exports.PublicKeyRing = require('./js/models/core/PublicKeyRing'); module.exports.PublicKeyRing = require('./js/models/core/PublicKeyRing');
module.exports.TxProposals = require('./js/models/core/TxProposals'); module.exports.TxProposals = require('./js/models/core/TxProposals');
@ -14,11 +13,6 @@ var Insight = module.exports.Insight = require('./js/models/blockchain/Insight')
var StorageLocalPlain = module.exports.StorageLocalPlain = require('./js/models/storage/LocalPlain'); var StorageLocalPlain = module.exports.StorageLocalPlain = require('./js/models/storage/LocalPlain');
var StorageLocalEncrypted = module.exports.StorageLocalEncrypted = require('./js/models/storage/LocalEncrypted'); var StorageLocalEncrypted = module.exports.StorageLocalEncrypted = require('./js/models/storage/LocalEncrypted');
var WalletFactory = require('soop').load('./js/models/core/WalletFactory',{ module.exports.WalletFactory = require('./js/models/core/WalletFactory');
Network: WebRTC,
Blockchain: Insight,
Storage: StorageLocalEncrypted,
});
module.exports.WalletFactory = WalletFactory;
module.exports.version = require('./version'); module.exports.version = require('./version');
module.exports.API = require('./API'); module.exports.API = require('./API');

View File

@ -1,15 +1,17 @@
'use strict'; 'use strict';
var imports = require('soop').imports(); var imports = require('soop').imports();
var Storage = imports.Storage;
var Network = imports.Network;
var Blockchain = imports.Blockchain;
var TxProposals = require('./TxProposals'); var TxProposals = require('./TxProposals');
var PublicKeyRing = require('./PublicKeyRing'); var PublicKeyRing = require('./PublicKeyRing');
var PrivateKey = require('./PrivateKey'); var PrivateKey = require('./PrivateKey');
var Wallet = require('./Wallet'); var Wallet = require('./Wallet');
var WebRTC = module.exports.WebRTC = require('../network/WebRTC');
var Insight = module.exports.Insight = require('../blockchain/Insight');
//var StorageLocalPlain = module.exports.StorageLocalPlain = require('../storage/LocalPlain');
var StorageLocalEncrypted = module.exports.StorageLocalEncrypted = require('../storage/LocalEncrypted');
/* /*
* WalletFactory * WalletFactory
* *
@ -19,9 +21,13 @@ function WalletFactory(config, version) {
var self = this; var self = this;
config = config || {}; config = config || {};
this.storage = new Storage(config.storage); this.Storage = config.Storage || StorageLocalEncrypted;
this.network = new Network(config.network); this.Network = config.Network || WebRTC;
this.blockchain = new Blockchain(config.blockchain); this.Blockchain = config.Blockchain || Insight;
this.storage = new this.Storage(config.storage);
this.network = new this.Network(config.network);
this.blockchain = new this.Blockchain(config.blockchain);
this.networkName = config.networkName; this.networkName = config.networkName;
this.verbose = config.verbose; this.verbose = config.verbose;

View File

@ -14,15 +14,11 @@
<script>mocha.setup('bdd')</script> <script>mocha.setup('bdd')</script>
<script src="../lib/bitcore/browser/bundle.js"></script> <script src="../lib/bitcore/browser/bundle.js"></script>
<script src="../js/copayBundle.js"></script> <script src="../js/copayBundle.js"></script>
<script>
var copay = require('copay');
</script>
<script src="test.blockchain.Insight.js"></script> <script src="test.blockchain.Insight.js"></script>
<script src="test.PrivateKey.js"></script> <script src="test.PrivateKey.js"></script>
<script src="test.PublicKeyRing.js"></script> <script src="test.PublicKeyRing.js"></script>
<script src="test.storage.LocalEncrypted.js"></script> <script src="test.storage.LocalEncrypted.js"></script>
<script src="test.storage.LocalPlain.js"></script> <script src="test.storage.LocalPlain.js"></script>
<script src="test.TxProposals.js"></script>
<script src="test.Wallet.js"></script> <script src="test.Wallet.js"></script>
<script src="test.Walletfactory.js"></script> <script src="test.Walletfactory.js"></script>
<script src="test.performance.js"></script> <script src="test.performance.js"></script>

View File

@ -2,7 +2,11 @@
var chai = chai || require('chai'); var chai = chai || require('chai');
var should = chai.should(); var should = chai.should();
var copay = copay || require('../copay'); try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var API = API || copay.API; var API = API || copay.API;
var Storage = Storage || require('../test/mocks/FakeStorage'); var Storage = Storage || require('../test/mocks/FakeStorage');

View File

@ -5,7 +5,11 @@ var should = chai.should();
var bitcore = bitcore || require('bitcore'); var bitcore = bitcore || require('bitcore');
var Address = bitcore.Address; var Address = bitcore.Address;
var buffertools = bitcore.buffertools; var buffertools = bitcore.buffertools;
var copay = copay || require('../copay'); try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var PublicKeyRing = copay.PublicKeyRing; var PublicKeyRing = copay.PublicKeyRing;
var AddressIndex = copay.AddressIndex; var AddressIndex = copay.AddressIndex;

View File

@ -4,7 +4,11 @@ var chai = chai || require('chai');
var should = chai.should(); var should = chai.should();
var bitcore = bitcore || require('bitcore'); var bitcore = bitcore || require('bitcore');
var buffertools = bitcore.buffertools; var buffertools = bitcore.buffertools;
var copay = copay || require('../copay'); try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var Passphrase = copay.Passphrase; var Passphrase = copay.Passphrase;

View File

@ -7,11 +7,15 @@ var Transaction = bitcore.Transaction;
var buffertools = bitcore.buffertools; var buffertools = bitcore.buffertools;
var WalletKey = bitcore.WalletKey; var WalletKey = bitcore.WalletKey;
var Key = bitcore.Key; var Key = bitcore.Key;
var bignum = bitcore.bignum; var bignum = bitcore.Bignum;
var networks = bitcore.networks; var networks = bitcore.networks;
var Address = bitcore.Address; var Address = bitcore.Address;
var BitcorePrivateKey = bitcore.PrivateKey; var BitcorePrivateKey = bitcore.PrivateKey;
var copay = copay || require('../copay'); try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var PrivateKey = copay.PrivateKey || require('../js/models/core/PrivateKey'); var PrivateKey = copay.PrivateKey || require('../js/models/core/PrivateKey');
var config = { var config = {

View File

@ -5,7 +5,11 @@ var should = chai.should();
var bitcore = bitcore || require('bitcore'); var bitcore = bitcore || require('bitcore');
var Address = bitcore.Address; var Address = bitcore.Address;
var buffertools = bitcore.buffertools; var buffertools = bitcore.buffertools;
var copay = copay || require('../copay'); try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var PublicKeyRing = copay.PublicKeyRing; var PublicKeyRing = copay.PublicKeyRing;
var aMasterPubKey = 'tprv8ZgxMBicQKsPdSVTiWXEqCCzqRaRr9EAQdn5UVMpT9UHX67Dh1FmzEMbavPumpAicsUm2XvC6NTdcWB89yN5DUWx5HQ7z3KByUg7Ht74VRZ'; var aMasterPubKey = 'tprv8ZgxMBicQKsPdSVTiWXEqCCzqRaRr9EAQdn5UVMpT9UHX67Dh1FmzEMbavPumpAicsUm2XvC6NTdcWB89yN5DUWx5HQ7z3KByUg7Ht74VRZ';

View File

@ -3,7 +3,11 @@
var chai = chai || require('chai'); var chai = chai || require('chai');
var should = chai.should(); var should = chai.should();
var bitcore = bitcore || require('bitcore'); var bitcore = bitcore || require('bitcore');
var copay = copay || require('../copay'); try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var Structure = require('../js/models/core/Structure'); var Structure = require('../js/models/core/Structure');
describe('Structure model', function() { describe('Structure model', function() {

View File

@ -12,7 +12,11 @@ var Script = bitcore.Script;
var Builder = bitcore.TransactionBuilder; var Builder = bitcore.TransactionBuilder;
var util = bitcore.util; var util = bitcore.util;
var networks = bitcore.networks; var networks = bitcore.networks;
var copay = copay || require('../copay'); try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var fakeStorage = copay.FakeStorage; var fakeStorage = copay.FakeStorage;
var PrivateKey = copay.PrivateKey || require('../js/models/PrivateKey'); var PrivateKey = copay.PrivateKey || require('../js/models/PrivateKey');
var TxProposals = copay.TxProposals || require('../js/models/TxProposal'); var TxProposals = copay.TxProposals || require('../js/models/TxProposal');
@ -126,7 +130,7 @@ describe('TxProposals model', function() {
var createTx = function(toAddress, amountSatStr, utxos, opts, priv, pkr) { var createTx = function(toAddress, amountSatStr, utxos, opts, priv, pkr) {
opts = opts || {}; opts = opts || {};
var amountSat = bitcore.bignum(amountSatStr); var amountSat = bitcore.Bignum(amountSatStr);
if (!pkr.isComplete()) { if (!pkr.isComplete()) {
throw new Error('publicKeyRing is not complete'); throw new Error('publicKeyRing is not complete');

View File

@ -3,7 +3,11 @@
var chai = chai || require('chai'); var chai = chai || require('chai');
var should = chai.should(); var should = chai.should();
var sinon = require('sinon'); var sinon = require('sinon');
var copay = copay || require('../copay'); try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var Wallet = require('../js/models/core/Wallet'); var Wallet = require('../js/models/core/Wallet');
var Storage = require('./mocks/FakeStorage'); var Storage = require('./mocks/FakeStorage');
var Network = require('./mocks/FakeNetwork'); var Network = require('./mocks/FakeNetwork');

View File

@ -7,17 +7,17 @@ var FakeNetwork = require('./mocks/FakeNetwork');
var Insight = require('../js/models/blockchain/Insight'); var Insight = require('../js/models/blockchain/Insight');
var FakeStorage = require('./mocks/FakeStorage'); var FakeStorage = require('./mocks/FakeStorage');
var WalletFactory = typeof copay === 'undefined' ? require('soop').load('../js/models/core/WalletFactory', { try {
Network: FakeNetwork, var copay = require('copay'); //browser
Blockchain: Insight, } catch (e) {
Storage: FakeStorage, var copay = require('../copay'); //node
}) : copay.WalletFactory; }
var WalletFactory = require('../js/models/core/WalletFactory');
var blanket = require("blanket")({ var blanket = require("blanket")({
"pattern": "/js/" "pattern": "/js/"
}); });
var addCopayers = function(w) { var addCopayers = function(w) {
for (var i = 0; i < 4; i++) { for (var i = 0; i < 4; i++) {
w.publicKeyRing.addCopayer(); w.publicKeyRing.addCopayer();
@ -26,11 +26,15 @@ var addCopayers = function(w) {
describe('WalletFactory model', function() { describe('WalletFactory model', function() {
var config = { var config = {
Network: FakeNetwork,
Blockchain: Insight,
Storage: FakeStorage,
wallet: { wallet: {
requiredCopayers: 3, requiredCopayers: 3,
totalCopayers: 5, totalCopayers: 5,
spendUnconfirmed: 1, spendUnconfirmed: 1,
reconnectDelay: 100, reconnectDelay: 100,
}, },
blockchain: { blockchain: {
host: 'test.insight.is', host: 'test.insight.is',
@ -82,6 +86,9 @@ describe('WalletFactory model', function() {
it('BIP32 length problem', function() { it('BIP32 length problem', function() {
var sconfig = { var sconfig = {
Network: FakeNetwork,
Blockchain: Insight,
Storage: FakeStorage,
"networkName": "testnet", "networkName": "testnet",
"network": { "network": {
"key": "g23ihfh82h35rf", "key": "g23ihfh82h35rf",

View File

@ -3,7 +3,11 @@
var chai = chai || require('chai'); var chai = chai || require('chai');
var should = chai.should(); var should = chai.should();
var bitcore = bitcore || require('bitcore'); var bitcore = bitcore || require('bitcore');
var copay = copay || require('../copay'); try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var Insight = copay.Insight || require('../js/models/blockchain/Insight'); var Insight = copay.Insight || require('../js/models/blockchain/Insight');
var ID = '933bf321393459b7'; var ID = '933bf321393459b7';

View File

@ -50,7 +50,9 @@ var createBundle = function(opts) {
}); });
b.require('./version'); b.require('./version');
// b.external('bitcore'); // b.external('bitcore');
b.require('./js/models/core/WalletFactory'); b.require('./js/models/core/WalletFactory', {
expose: '../js/models/core/WalletFactory'
});
b.require('./js/models/core/Wallet'); b.require('./js/models/core/Wallet');
b.require('./js/models/core/Wallet', { b.require('./js/models/core/Wallet', {
expose: '../js/models/core/Wallet' expose: '../js/models/core/Wallet'
@ -58,6 +60,9 @@ var createBundle = function(opts) {
b.require('./test/mocks/FakeStorage', { b.require('./test/mocks/FakeStorage', {
expose: './mocks/FakeStorage' expose: './mocks/FakeStorage'
}); });
b.require('./test/mocks/FakeBlockchain', {
expose: './mocks/FakeBlockchain'
});
b.require('./js/models/core/Wallet', { b.require('./js/models/core/Wallet', {
expose: '../js/models/core/Wallet' expose: '../js/models/core/Wallet'
}); });
@ -81,10 +86,12 @@ var createBundle = function(opts) {
}); });
if (opts.dontminify) { if (opts.dontminify) {
b.require('sinon', { //include dev dependencies
expose: '../sinon' b.require('sinon');
}); b.require('blanket');
b.require('soop');
} }
if (!opts.dontminify) { if (!opts.dontminify) {
b.transform({ b.transform({
global: true global: true
@ -101,7 +108,7 @@ if (require.main === module) {
var program = require('commander'); var program = require('commander');
program program
.version('0.0.1') .version('0.0.1')
.option('-d, --dontminify', 'Don\'t minify the code.') .option('-d, --dontminify', 'Development. Don\'t minify the code.')
.option('-o, --stdout', 'Specify output as stdout') .option('-o, --stdout', 'Specify output as stdout')
.parse(process.argv); .parse(process.argv);