aboutsummaryrefslogtreecommitdiff
path: root/test/test.js
blob: a0fba3dde7930e0a900d145767adb6719f74aab9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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();
            });
    });

});