aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorHumairAK <humair88@hotmail.com>2016-07-26 07:43:04 +0000
committerHumairAK <humair88@hotmail.com>2016-07-26 07:43:04 +0000
commitf016bdbc35b7efa44bd63413bde09433ea916c59 (patch)
tree238a4ffbd447907876b2f1624cdb6f4abc3009eb /test
parent10f1c442e27d82d1fc2c94d1bc0a2ad27917b287 (diff)
added some unit testing, need a lot more
Diffstat (limited to 'test')
-rw-r--r--test/mocha.opts1
-rw-r--r--test/test.js97
-rw-r--r--test/test_server.js13
3 files changed, 111 insertions, 0 deletions
diff --git a/test/mocha.opts b/test/mocha.opts
new file mode 100644
index 0000000..63b406d
--- /dev/null
+++ b/test/mocha.opts
@@ -0,0 +1 @@
+--recursive \ No newline at end of file
diff --git a/test/test.js b/test/test.js
new file mode 100644
index 0000000..a0fba3d
--- /dev/null
+++ b/test/test.js
@@ -0,0 +1,97 @@
+var chai = require('chai');
+var chaiHttp = require('chai-http');
+var expect = require('chai').expect;
+var dbFile = require('../node_simple.js');
+
+chai.use(chaiHttp);
+
+var request = require('supertest');
+
+
+// Database info, cross check with database docs to ensure these files either:
+// a) exist
+// b) do not exist
+
+var existingUser = 'kumar'; // username must be in db
+var nonExistingUser = 'a1b2c3d4'; // username must not be in db
+
+
+/* Test simple routes that do not require database queries */
+describe('Test Simple Route:', function () {
+
+ var server;
+ before(function () {
+ server = require('./test_server');
+ });
+
+ after(function () {
+ server.close();
+ });
+
+ it('Get Homepage', function testSlash(done) {
+ chai.request(server)
+ .get('/')
+ .end(function(err, res){
+ expect(res).to.have.status(200);
+ done();
+ });
+ });
+
+ it('Get About Page', function testSlash(done) {
+ chai.request(server)
+ .get('/about')
+ .end(function(err, res){
+ expect(res).to.have.status(200);
+ done();
+ });
+ });
+
+ it('Test false route', function testSlash(done) {
+ chai.request(server)
+ .get('//foo/bar')
+ .end(function(err, res){
+ expect(res).to.have.status(404);
+ done();
+ });
+ });
+
+});
+
+/* public_profile response test */
+describe('User_profile_page Route:', function(){
+ var server;
+ before(function () {
+ server = require('./test_server');
+ });
+ after(function () {
+ server.close();
+ });
+
+ it('Public Profile (existing user)', function testSlash(done) {
+ chai.request(server)
+ .get('/public_profile/' + existingUser)
+ .end(function(err, res){
+ expect(res).to.have.status(200);
+ done();
+ });
+ });
+
+ it('Public Profile (non-existing user)', function testSlash(done) {
+ chai.request(server)
+ .get('/public_profile/' + nonExistingUser)
+ .end(function(err, res){
+ expect(res).to.have.status(200);
+ done();
+ });
+ });
+
+ it('Public Profile (empty case)', function testSlash(done) {
+ chai.request(server)
+ .get('/public_profile/' + nonExistingUser)
+ .end(function(err, res){
+ expect(res).to.have.status(200);
+ done();
+ });
+ });
+
+});
diff --git a/test/test_server.js b/test/test_server.js
new file mode 100644
index 0000000..9514124
--- /dev/null
+++ b/test/test_server.js
@@ -0,0 +1,13 @@
+var app = require('../app');
+var http = require('http');
+
+var server = http.createServer(app);
+
+var port = '3000';
+app.set('port', port);
+
+server.listen(port, function(){
+ console.log('Listening on port 3000..');
+});
+
+module.exports = server; \ No newline at end of file