diff options
author | kaeff <hi@kaeff.net> | 2015-09-16 02:12:50 +0200 |
---|---|---|
committer | kaeff <hi@kaeff.net> | 2015-09-16 02:35:55 +0200 |
commit | dacd2f218a3774bd200f17c7e9274088043a25ef (patch) | |
tree | 14ee131f49bfa103f3f46547decb69d38745bd42 /spec | |
parent | 8f33d32d40b1e21ae7fb9a92c78a275422af4217 (diff) |
Run tests via cli using karma & PhantomJS for Travis
Instead of jasmine's HTML runner, use karma to run specs. karma & all
other dependencies are installed via npm and executed via node.js. This
allows TravisCI to execute the test, and as a side effect, bumps the
versions on the testing toolchain.
- Install node.js
- Run `npm install` once to download dependencies.
- Run `npm test` to run all tests
Things to bear in mind:
- This commit adds general project information in `package.js`
- `karma.conf.js` specifies the order in which src, spec and lib files
are loaded
- Switch to jasmine spies instead of sinon
Diffstat (limited to 'spec')
-rw-r--r-- | spec/helper.js | 4 | ||||
-rw-r--r-- | spec/login_spec.js | 16 | ||||
-rw-r--r-- | spec/signup_spec.js | 2 |
3 files changed, 14 insertions, 8 deletions
diff --git a/spec/helper.js b/spec/helper.js index 8bae2c6..d1c699b 100644 --- a/spec/helper.js +++ b/spec/helper.js @@ -42,3 +42,7 @@ var specHelper = (function() { } })(); + +beforeEach(function () { + setFixtures("<form action='.' onsubmit='return register()'> <table> <tr><td>Username:</td><td><input type='text' id='srp_username' value='testuser' /></td></tr> <tr><td>Password:</td><td><input type='password' id='srp_password' value='password'/></td></tr> </table> <input type='submit'/> </form> "); +}); diff --git a/spec/login_spec.js b/spec/login_spec.js index 461a4bb..24c7f4f 100644 --- a/spec/login_spec.js +++ b/spec/login_spec.js @@ -42,6 +42,10 @@ describe("Login with srp var", function() { beforeEach(function() { specHelper.setupFakeXHR.apply(this); + calculate = new srp.Calculate(); + calculate.randomSalt = function() {return "4c78c3f8"}; + srp.session = new srp.Session(undefined, calculate); + A_ = srp.session.calculateAndSetA(data.a) old_login = $('#srp_username').val(); old_conf = $('#srp_password_confirmation').val(); @@ -68,7 +72,7 @@ describe("Login with srp var", function() { }); it("authenticates successfully", function(){ - srp.loggedIn = sinon.spy(); + srp.loggedIn = jasmine.createSpy(); srp.login(); this.expectRequest('/1/sessions.json', 'login=' +data.username+ '&A=' +data.aa, 'POST'); @@ -80,7 +84,7 @@ describe("Login with srp var", function() { }); it("reports errors during handshake", function(){ - srp.error = sinon.spy(); + srp.error = jasmine.createSpy(); var error = {login: "something went wrong on the server side"}; srp.login(); @@ -88,14 +92,12 @@ describe("Login with srp var", function() { this.respondJSON(error, 422); //this.expectNoMoreRequests(); - expect(srp.error).toHaveBeenCalled; - var args = srp.error.args[0]; - expect(args[0]).toEqual(error); + expect(srp.error).toHaveBeenCalledWith(error); }); it("rejects B = 0", function(){ - srp.loggedIn = sinon.spy(); - srp.error = sinon.spy(); + srp.loggedIn = jasmine.createSpy(); + srp.error = jasmine.createSpy(); srp.login(); this.expectRequest('/1/sessions.json', 'login=' +data.username+ '&A=' +data.aa, 'POST'); diff --git a/spec/signup_spec.js b/spec/signup_spec.js index 0bd8d48..89b0936 100644 --- a/spec/signup_spec.js +++ b/spec/signup_spec.js @@ -19,7 +19,7 @@ describe("Signup with srp var", function() { }); it("identifies after successful registration (INTEGRATION)", function(){ - var callback = sinon.spy(); + var callback = jasmine.createSpy(); srp.signedUp = callback; srp.signup(); this.expectRequest('/1/users.json', "user[login]=testuser&user[password_salt]=4c78c3f8&user[password_verifier]=474c26aa42d11f20544a00f7bf9711c4b5cf7aab95ed448df82b95521b96668e7480b16efce81c861870302560ddf6604c67df54f1d04b99d5bb9d0f02c6051ada5dc9d594f0d4314e12f876cfca3dcd99fc9c98c2e6a5e04298b11061fb8549a22cde0564e91514080df79bca1c38c682214d65d590f66b3719f954b078b83c", 'POST') |