From 02cc9f37d3d0458589b5154209a701accdb079ff Mon Sep 17 00:00:00 2001 From: Tyrel Souza Date: Tue, 28 Nov 2017 22:52:44 -0500 Subject: [PATCH] testing --- package-lock.json | 6 ++++ package.json | 1 + server/server.js | 10 +++++++ server/server.test.js | 41 ++++++++++++++++++++------- spies/app.js | 10 +++++++ spies/app.tests.js | 9 ++++++ spies/db.js | 3 ++ utils/utils.test.js | 64 ++++++++++++++++++++++++------------------- 8 files changed, 106 insertions(+), 38 deletions(-) create mode 100644 spies/app.js create mode 100644 spies/app.tests.js create mode 100644 spies/db.js diff --git a/package-lock.json b/package-lock.json index e1e14ec..ee36bdd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -845,6 +845,12 @@ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, + "rewire": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/rewire/-/rewire-2.5.2.tgz", + "integrity": "sha1-ZCfee3/u+n02QBUH62SlOFvFjcc=", + "dev": true + }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", diff --git a/package.json b/package.json index 8bb6e93..e708383 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "atom-ui-reporter": "0.0.1", "expect": "^1.20.2", "mocha": "^3.0.0", + "rewire": "^2.5.2", "supertest": "^2.0.0" } } diff --git a/server/server.js b/server/server.js index af902b8..581ddde 100644 --- a/server/server.js +++ b/server/server.js @@ -10,6 +10,16 @@ app.get('/', (req, res) => { }) }); +app.get('/users', (req, res) => { + res.send([ + {name: 'Tyrel', age: 29}, + {name: 'Lauren', age: 32}, + {name: 'Max', age: 33} + ]) + + +}); + app.listen(3000); diff --git a/server/server.test.js b/server/server.test.js index 3484ff7..6fc197e 100644 --- a/server/server.test.js +++ b/server/server.test.js @@ -1,16 +1,37 @@ const request = require('supertest') const expect = require('expect') - var app = require('./server').app; -it('should return hello world response', (done) => { - request(app) - .get('/') - .expect(404) - .expect((res) => { - expect(res.body).toInclude({ - error: 'Page not found' +describe('Server', () => { + + describe('/', () => { + it('should return hello world response', (done) => { + request(app) + .get('/') + .expect(404) + .expect((res) => { + expect(res.body).toInclude({ + error: 'Page not found' + }); + }) + .end(done); + }); + }); + +describe('/users', () => { + it('should return my user object', (done) => { + request(app) + .get('/users') + .expect(200) + .expect((res) => { + expect(res.body).toInclude({ + name: "Tyrel", + age:29 + }); }) - }) - .end(done); + .end(done); + }); +}); + + }); diff --git a/spies/app.js b/spies/app.js new file mode 100644 index 0000000..653f0c3 --- /dev/null +++ b/spies/app.js @@ -0,0 +1,10 @@ +module.exports.handleSignup = (email, password) => { + + // Check if email already exists + db.saveUser({ + email, + pasword + }); + // Send welcome email + +} diff --git a/spies/app.tests.js b/spies/app.tests.js new file mode 100644 index 0000000..6547eeb --- /dev/null +++ b/spies/app.tests.js @@ -0,0 +1,9 @@ +const expect = require('expect'); + +describe('App', () => { + it('should call the spy correctly',() => { + var spy = expect.createSpy(); + spy('Andrew', 25); + expect(spy).toHaveBeenCalled('Andrew', 25); + }) +}) diff --git a/spies/db.js b/spies/db.js new file mode 100644 index 0000000..15779ae --- /dev/null +++ b/spies/db.js @@ -0,0 +1,3 @@ +module.exports.saveUser = (user) => { + console.log("Saving user", user); +} diff --git a/utils/utils.test.js b/utils/utils.test.js index cb8c02b..4ca0219 100644 --- a/utils/utils.test.js +++ b/utils/utils.test.js @@ -1,40 +1,48 @@ const expect = require('expect'); const utils = require("./utils"); -it('should add two numbers', () => { - var res = utils.add(33, 11); - expect(res).toBe(44).toBeA('number'); -}); +describe('Utils', () => { + + describe("#add", () => { + it('should add two numbers', () => { + var res = utils.add(33, 11); + expect(res).toBe(44).toBeA('number'); + }); + it('should add two numbers async', (done) => { + utils.asyncAdd(33, 11, (sum) => { + expect(sum).toBe(44).toBeA('number'); + done(); + }); + }); + }) + + describe("#square", () => { + it('should square a number', (done) => { + utils.asyncSquare(3, (total) => { + expect(total).toBe(9).toBeA('number'); + done(); + }); + }); + + it('should square a number', () => { + var res = utils.square(13); + expect(res).toBe(169).toBeA('number'); + }); -it('should add two numbers async', (done) => { - utils.asyncAdd(33, 11, (sum) => { - expect(sum).toBe(44).toBeA('number'); - done(); }); -}); -it('should add square a number', (done) => { - utils.asyncSquare(3, (total) => { - expect(total).toBe(9).toBeA('number'); - done(); - }); -}); + it('should set the name', () => { + var user = { age: 29, location: "Boston" }; -it('should square a number', () => { - var res = utils.square(13); - expect(res).toBe(169).toBeA('number'); -}); + var res = utils.setName(user, "Tyrel Souza"); -it('should set the name', () => { - var user = { age: 29, location: "Boston" }; + expect(res).toInclude({ + age: user.age, + firstName: "Tyrel", + lastName: "Souza", + }).toBeA('object'); + }) - var res = utils.setName(user, "Tyrel Souza"); - - expect(res).toInclude({ - age: user.age, - firstName: "Tyrel", - lastName: "Souza", - }).toBeA('object'); })