Style: Moving all tests to a subfolder

This commit is contained in:
Esteban Ordano 2014-09-25 01:58:27 -03:00
parent f02af67caa
commit df20d7e242
22 changed files with 97 additions and 170 deletions

View File

@ -20,7 +20,7 @@ module.exports = function(grunt) {
tagMessage: 'Version <%= version %>',
github: {
repo: 'bitpay/copay',
usernameVar: 'GITHUB_USERNAME', //ENVIRONMENT VARIABLE that contains Github username
usernameVar: 'GITHUB_USERNAME', //ENVIRONMENT VARIABLE that contains Github username
passwordVar: 'GITHUB_PASSWORD' //ENVIRONMENT VARIABLE that contains Github password
}
}
@ -79,13 +79,23 @@ module.exports = function(grunt) {
config: {
files: ['config.js'],
tasks: ['shell:dev', 'concat:main']
},
test: {
files: ['test/models/*.js'],
tasks: ['mochaTest']
}
},
mochaTest: {
options: {
reporter: 'spec',
},
src: ['test/*.js'],
tests: {
options: {
require: 'test/mocha_node_setup.js',
reporter: 'spec',
mocha: require('mocha')
},
src: [
'test/models/*.js',
]
}
},
markdown: {
all: {

View File

@ -10,7 +10,7 @@ module.exports = function(config) {
// frameworks to use
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
frameworks: ['mocha'],
frameworks: ['mocha', 'chai'],
// list of files / patterns to load in the browser
@ -31,7 +31,6 @@ module.exports = function(config) {
'lib/angular-load/angular-load.min.js',
'lib/angular-gettext/dist/angular-gettext.min.js',
'lib/inherits/inherits.js',
'lib/bitcore.js',
'lib/underscore/underscore.js',
'lib/crypto-js/rollups/sha256.js',
'lib/crypto-js/rollups/pbkdf2.js',
@ -41,6 +40,8 @@ module.exports = function(config) {
'lib/sjcl.js',
'lib/ios-imagefile-megapixel/megapix-image.js',
'lib/qrcode-decoder-js/lib/qrcode-decoder.min.js',
'lib/bitcore.js',
'js/copayBundle.js',
//App-specific Code
@ -54,10 +55,6 @@ module.exports = function(config) {
'js/translations.js',
'js/init.js',
//Test-Specific Code
'lib/chai/chai.js',
'test/lib/chai-should.js',
'test/lib/chai-expect.js',
'test/mocks/FakeWallet.js',
'test/mocks/FakeBlockchainSocket.js',
'test/mocks/FakePayProServer.js',
@ -66,7 +63,8 @@ module.exports = function(config) {
'test/mocha.conf.js',
//test files
'test/test.*.js',
'karma/setup.js',
'test/models/*.js',
'test/unit/**/*.js',

16
karma/setup.js Normal file
View File

@ -0,0 +1,16 @@
if (!!window) {
window.bitcore = require('bitcore');
window.expect = chai.expect;
window.bignum = bitcore.Bignum;
window.should = chai.should();
window.copay = require('copay');
window.copayConfig = require('../config');
window.requireMock = function(name) {
return require('./mocks/' + name);
}
window.is_browser = true;
window._ = require('underscore');
}

View File

@ -71,10 +71,12 @@
"grunt-shell": "^0.6.4",
"istanbul": "^0.2.10",
"karma": "^0.12.9",
"karma-chai": "^0.1.0",
"karma-chrome-launcher": "^0.1.3",
"karma-firefox-launcher": "^0.1",
"karma-mocha": "^0.1.3",
"karma-mocha": "^0.1.9",
"karma-phantomjs-launcher": "^0.1.4",
"karma-sinon": "^1.0.3",
"load-grunt-tasks": "^0.6.0",
"mocha": "^1.18.2",
"mocha-lcov-reporter": "^0.0.1",

View File

@ -1 +1 @@
-R spec
--require test/mocha_node_setup.js --reporter spec test/models/*.js

27
test/mocha_node_setup.js Normal file
View File

@ -0,0 +1,27 @@
if (!!global) {
global.chai = require('chai');
global.sinon = require('sinon');
global.bitcore = require('bitcore');
global.expect = global.chai.expect;
global.bignum = global.bitcore.Bignum;
global.should = global.chai.should();
try {
global.copay = require('copay');
global.copayConfig = require('config');
} catch (e) {
global.copay = require('../copay');
global.copayConfig = require('../config');
}
global.requireMock = function(name) {
try {
return require('../mocks/' + name);
} catch (e) {
return require('./mocks/' + name);
}
}
global.is_browser = typeof process == 'undefined' || typeof process.versions === 'undefined';
global._ = require('underscore');
}

View File

@ -1,16 +1,6 @@
'use strict';
var chai = chai || require('chai');
var should = chai.should();
var bitcore = bitcore || require('bitcore');
var Address = bitcore.Address;
var buffertools = bitcore.buffertools;
try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var PublicKeyRing = copay.PublicKeyRing;
var HDParams = copay.HDParams;
var HDPath = copay.HDPath;
@ -106,4 +96,4 @@ describe('HDParams model', function() {
merge.should.throw(Error);
})
});
});

View File

@ -1,14 +1,6 @@
'use strict';
var chai = chai || require('chai');
var should = chai.should();
var bitcore = bitcore || require('bitcore');
try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var HDPath = require('../js/models/HDPath');
var HDPath = copay.HDPath;
describe('HDPath model', function() {
it('should have the correct constants', function() {

View File

@ -1,14 +1,5 @@
'use strict';
var chai = chai || require('chai');
var should = chai.should();
var bitcore = bitcore || require('bitcore');
var buffertools = bitcore.buffertools;
try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var Passphrase = copay.Passphrase;
describe('Passphrase model', function() {

View File

@ -1,30 +1,19 @@
'use strict';
var chai = chai || require('chai');
var should = chai.should();
var sinon = require('sinon');
var is_browser = typeof process == 'undefined' || typeof process.versions === 'undefined';
if (is_browser) {
var copay = require('copay'); //browser
} else {
var copay = require('../copay'); //node
}
var Wallet = copay.Wallet;
var PrivateKey = copay.PrivateKey;
var Network = require('./mocks/FakeNetwork');
var Blockchain = require('./mocks/FakeBlockchain');
var bitcore = bitcore || require('bitcore');
var Network = requireMock('FakeNetwork');
var Blockchain = requireMock('FakeBlockchain');
var TransactionBuilder = bitcore.TransactionBuilder;
var Transaction = bitcore.Transaction;
var Address = bitcore.Address;
var PayPro = bitcore.PayPro;
var bignum = bitcore.Bignum;
var startServer = copay.FakePayProServer; // TODO should be require('./mocks/FakePayProServer');
var localMock = require('./mocks/FakeLocalStorage');
var sessionMock = require('./mocks/FakeLocalStorage');
var localMock = requireMock('FakeLocalStorage');
var sessionMock = requireMock('FakeLocalStorage');
var Storage = copay.Storage;
var server;
var walletConfig = {
@ -33,7 +22,7 @@ var walletConfig = {
spendUnconfirmed: true,
reconnectDelay: 100,
networkName: 'testnet',
storage: require('./mocks/FakeLocalStorage').storageParams,
storage: requireMock('FakeLocalStorage').storageParams,
};
var getNewEpk = function() {

View File

@ -1,8 +1,5 @@
'use strict';
var chai = chai || require('chai');
var should = chai.should();
var bitcore = bitcore || require('bitcore');
var Transaction = bitcore.Transaction;
var buffertools = bitcore.buffertools;
var WalletKey = bitcore.WalletKey;
@ -11,12 +8,7 @@ var bignum = bitcore.Bignum;
var networks = bitcore.networks;
var Address = bitcore.Address;
var BitcorePrivateKey = bitcore.PrivateKey;
try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var PrivateKey = copay.PrivateKey || require('../js/models/PrivateKey');
var PrivateKey = copay.PrivateKey;
var pkConfig = {
networkName: 'livenet',

View File

@ -1,18 +1,8 @@
'use strict';
var chai = chai || require('chai');
var should = chai.should();
var bitcore = bitcore || require('bitcore');
var Address = bitcore.Address;
var buffertools = bitcore.buffertools;
var HDPath = require('../js/models/HDPath');
try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var HDPath = copay.HDPath;
var PrivateKey = copay.PrivateKey;
var PublicKeyRing = copay.PublicKeyRing;

View File

@ -1,10 +1,4 @@
'use strict';
var chai = chai || require('chai');
var sinon = require('sinon');
var _ = require('underscore');
var should = chai.should();
var is_browser = typeof process == 'undefined' || typeof process.versions === 'undefined';
var copay = copay || require('../copay');
var Storage = copay.Storage;
var fakeWallet = 'fake-wallet-id';
@ -14,7 +8,7 @@ describe('Storage model', function() {
var s;
beforeEach(function() {
s = new Storage(require('./mocks/FakeLocalStorage').storageParams);
s = new Storage(requireMock('FakeLocalStorage').storageParams);
s.setPassphrase('mysupercoolpassword');
s.storage.clear();
s.sessionStorage.clear();
@ -22,11 +16,11 @@ describe('Storage model', function() {
it('should create an instance', function() {
var s2 = new Storage(require('./mocks/FakeLocalStorage').storageParams);
var s2 = new Storage(requireMock('FakeLocalStorage').storageParams);
should.exist(s2);
});
it('should fail when encrypting without a password', function() {
var s2 = new Storage(require('./mocks/FakeLocalStorage').storageParams);
var s2 = new Storage(requireMock('FakeLocalStorage').storageParams);
(function() {
s2._write(fakeWallet + timeStamp, 1, function() {});
}).should.throw('NOPASSPHRASE');

View File

@ -1,10 +1,6 @@
'use strict';
var chai = chai || require('chai');
var should = chai.should();
var bitcore = bitcore || require('bitcore');
var Transaction = bitcore.Transaction;
var buffertools = bitcore.buffertools;
var WalletKey = bitcore.WalletKey;
var Key = bitcore.Key;
var bignum = bitcore.Bignum;
@ -12,15 +8,7 @@ var Script = bitcore.Script;
var TransactionBuilder = bitcore.TransactionBuilder;
var util = bitcore.util;
var networks = bitcore.networks;
var sinon = require('sinon');
var is_browser = typeof process == 'undefined' || typeof process.versions === 'undefined';
if (is_browser) {
var copay = require('copay'); //browser
} else {
var copay = require('../copay'); //node
}
var FakeBuilder = require('./mocks/FakeBuilder');
var FakeBuilder = requireMock('FakeBuilder');
var TxProposal = copay.TxProposal;
var dummyProposal = new TxProposal({

View File

@ -1,10 +1,6 @@
'use strict';
var chai = chai || require('chai');
var should = chai.should();
var bitcore = bitcore || require('bitcore');
var Transaction = bitcore.Transaction;
var buffertools = bitcore.buffertools;
var WalletKey = bitcore.WalletKey;
var Key = bitcore.Key;
var bignum = bitcore.Bignum;
@ -12,14 +8,8 @@ var Script = bitcore.Script;
var TransactionBuilder = bitcore.TransactionBuilder;
var util = bitcore.util;
var networks = bitcore.networks;
var sinon = require('sinon');
try {
var copay = require('copay'); //browser
} catch (e) {
var copay = require('../copay'); //node
}
var FakeBuilder = require('./mocks/FakeBuilder');
var FakeBuilder = requireMock('FakeBuilder');
var TxProposal = copay.TxProposal;
var TxProposals = copay.TxProposals;

View File

@ -1,23 +1,11 @@
'use strict';
var _ = require('underscore');
var chai = chai || require('chai');
var should = chai.should();
var sinon = require('sinon');
var is_browser = (typeof process == 'undefined' || typeof process.versions === 'undefined');
if (is_browser) {
var copay = require('copay'); //browser
} else {
var copay = require('../copay'); //node
}
var copayConfig = require('../config');
var Wallet = copay.Wallet;
var PrivateKey = copay.PrivateKey;
var Storage = copay.Storage;
var Network = require('./mocks/FakeNetwork');
var Blockchain = require('./mocks/FakeBlockchain');
var Builder = require('./mocks/FakeBuilder');
var bitcore = bitcore || require('bitcore');
var Network = requireMock('FakeNetwork');
var Blockchain = requireMock('FakeBlockchain');
var Builder = requireMock('FakeBuilder');
var TransactionBuilder = bitcore.TransactionBuilder;
var Transaction = bitcore.Transaction;
var Address = bitcore.Address;
@ -28,7 +16,7 @@ var walletConfig = {
spendUnconfirmed: true,
reconnectDelay: 100,
networkName: 'testnet',
storage: require('./mocks/FakeLocalStorage').storageParams,
storage: requireMock('FakeLocalStorage').storageParams,
};
var getNewEpk = function() {

View File

@ -1,22 +1,16 @@
'use strict';
var _ = require('underscore');
var chai = chai || require('chai');
var should = chai.should();
var copay = copay || require('../copay');
var sinon = require('sinon');
var FakeNetwork = require('./mocks/FakeNetwork');
var FakeBlockchain = require('./mocks/FakeBlockchain');
var FakeNetwork = requireMock('FakeNetwork');
var FakeBlockchain = requireMock('FakeBlockchain');
var FakeStorage = function FakeStorage() {};
var WalletFactory = require('../js/models/WalletFactory');
var Passphrase = require('../js/models/Passphrase');
var mockLocalStorage = require('./mocks/FakeLocalStorage');
var mockSessionStorage = require('./mocks/FakeLocalStorage');
var WalletFactory = copay.WalletFactory;
var Passphrase = copay.Passphrase;
var mockLocalStorage = requireMock('FakeLocalStorage');
var mockSessionStorage = requireMock('FakeLocalStorage');
var PERSISTED_PROPERTIES = (copay.Wallet || require('../js/models/Wallet')).PERSISTED_PROPERTIES;
var PERSISTED_PROPERTIES = copay.Wallet.PERSISTED_PROPERTIES;
function assertObjectEqual(a, b) {
PERSISTED_PROPERTIES.forEach(function(k) {

View File

@ -1,26 +1,15 @@
'use strict';
var chai = chai || require('chai');
var should = chai.should();
var sinon = require('sinon');
var is_browser = (typeof process == 'undefined' || typeof process.versions === 'undefined');
if (is_browser) {
var copay = require('copay'); //browser
} else {
var copay = require('../copay'); //node
}
var copayConfig = require('../config');
var WalletLock = copay.WalletLock;
var PrivateKey = copay.PrivateKey;
var Storage = copay.Storage;
var storage;
describe('WalletLock model', function() {
beforeEach(function() {
storage = new Storage(require('./mocks/FakeLocalStorage').storageParams);
storage = new Storage(requireMock('FakeLocalStorage').storageParams);
storage.setPassphrase('mysupercoolpassword');
storage.storage.clear();
storage.sessionStorage.clear();

View File

@ -1,12 +1,7 @@
'use strict';
var chai = chai || require('chai');
var should = chai.should();
var sinon = require('sinon');
var bitcore = bitcore || require('bitcore');
var FakeSocket = require('./mocks/FakeBlockchainSocket');
var FakeSocket = requireMock('FakeBlockchainSocket');
var copay = copay || require('../copay');
var Buffer = bitcore.Buffer;
var Insight = copay.Insight;

View File

@ -1,11 +1,5 @@
'use strict';
var chai = chai || require('chai');
var should = chai.should();
var expect = chai.expect;
var sinon = sinon || require('sinon');
var bitcore = bitcore || require('bitcore');
var copay = copay || require('../copay');
var Async = copay.Async;
var EventEmitter = require('events').EventEmitter;

View File

@ -1,9 +1,7 @@
'use strict';
var chai = chai || require('chai');
var should = chai.should();
var PrivateKey = require('../js/models/PrivateKey');
var PublicKeyRing = require('../js/models/PublicKeyRing');
var PrivateKey = copay.PrivateKey;
var PublicKeyRing = copay.PublicKeyRing;
var getNewEpk = function() {
return new PrivateKey({

View File

@ -1,5 +1,5 @@
#! /bin/bash
node_modules/.bin/istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && \
node_modules/.bin/istanbul cover grunt -- mochaTest && \
cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && \
./node_modules/karma/bin/karma start --browsers Firefox --single-run