| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- var request = require("request");
- var base_url = "http://localhost:3000";
- describe("User Operations", function () {
- var register_user = function (username) {
- return {
- url: base_url + "/user/register/",
- method: "POST",
- json: {
- user: username,
- password: "foofoo"
- }
- };
- };
- var login_user = function (username, pass) {
- return {
- url: base_url + "/user/auth/",
- method: "POST",
- json: {
- user: username,
- password: pass
- }
- };
- };
- var user_ops_auth_key = "";
- describe("POST /user/register/", function () {
- it("can register user", function (done) {
- request(register_user("foo123"), function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.registered).toBe(1);
- if (body["auth-key"]) {
- expect(body["auth-key"].length).toBe(60);
- }
- expect(body.error).toBe(0);
- done();
- });
- });
- request(register_user("foo456"), function(){});
- request(register_user("foo789"), function(){});
- it("cannot register the same user twice", function (done) {
- request(register_user("foo123"), function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.registered).toBe(0);
- expect(body["auth-key"]).toBe(undefined);
- expect(body.error).toBe(1);
- done();
- });
- });
- it("cannot accept malformed requests", function (done) {
- request({
- url: base_url + "/user/register/",
- method: "POST",
- json: {
- usr: "foo123",
- password: "foofoo"
- }
- }, function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.registered).toBe(0);
- expect(body["auth-key"]).toBe(undefined);
- expect(body.error).toBe(2);
- done();
- });
- });
- }); //end POST /user/register/
- describe("POST /user/auth/", function () {
- it("can login as an existing user", function (done) {
- request(login_user("foo123", "foofoo"), function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.logged_in).toBe(1);
- expect(body["auth-key"].length).toBe(60);
- expect(body.error).toBe(0);
- done();
- });
- });
- it("cannot login with an incorrect password", function (done) {
- request(login_user("foo123", "foofo"), function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.logged_in).toBe(0);
- expect(body["auth-key"]).toBe(undefined);
- expect(body.error).toBe(1);
- done();
- });
- });
- it("cannot login with an incorrect username", function (done) {
- request(login_user("foo1233", "foofoo"), function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.logged_in).toBe(0);
- expect(body["auth-key"]).toBe(undefined);
- expect(body.error).toBe(1);
- done();
- });
- });
- it("cannot accept malformed requests", function (done) {
- request({
- url: base_url + "/user/auth/",
- method: "POST",
- json: {
- usr: "foo123",
- password: "foofoo"
- }
- }, function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.logged_in).toBe(0);
- expect(body["auth-key"]).toBe(undefined);
- expect(body.error).toBe(2);
- done();
- });
- });
- }); //end POST /user/auth/
- describe("GET /user/view/:user", function () {
- it("gets an individual user that exists", function (done) {
- request(base_url + "/user/view/foo123", function (error, response, body) {
- body = JSON.parse(body);
- expect(response.statusCode).toBe(200);
- expect(body.user).not.toBe(null);
- expect(typeof body.user).toBe("object");
- expect(body.user.username).toBe("foo123");
- expect(Array.isArray(body.user.societies)).toBe(true);
- expect(Array.isArray(body.user.friends)).toBe(true);
- expect(Array.isArray(body.user.accepted_events)).toBe(true);
- expect(Array.isArray(body.user.declined_events)).toBe(true);
- expect(body.error).toBe(0);
- done();
- });
- });
- it("does not get users that do not exist", function (done) {
- request(base_url + "/user/view/foo1233", function (error, response, body) {
- body = JSON.parse(body);
- expect(response.statusCode).toBe(200);
- expect(Object.keys(body.user).length).toBe(0);
- expect(JSON.stringify(body.user)).toEqual(JSON.stringify({}));
- expect(body.error).toBe(1);
- done();
- });
- });
- it("gets all users in the system", function (done) {
- request(base_url + "/user/view/", function (error, response, body) {
- body = JSON.parse(body);
- expect(response.statusCode).toBe(200);
- expect(Array.isArray(body.users)).toBe(true);
- done();
- });
- });
- }); //end GET /user/view/:user
- }); //end user ops
|