| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- var request = require("request");
- var base_url = "http://localhost:3000";
- describe("Friends Operations", function () {
- var auth_user = function (username) {
- return {
- url: base_url + "/user/auth/",
- method: "POST",
- json: {
- user: username,
- password: "foofoo"
- }
- };
- };
- var friend = function (add, friendr, auth_key) {
- var the_url = base_url + "/friends/";
- if (add) {
- the_url += "add/";
- } else {
- the_url += "remove/";
- }
- return {
- url: the_url,
- method: "POST",
- json: {
- friend: friendr,
- auth: auth_key
- }
- };
- };
- var foo123auth;
- describe("POST /friends/add/", function () {
- it("can add friends", function (done) {
- request(auth_user("foo123"), function (error, response, body) {
- foo123auth = body["auth-key"];
- request(friend(true, "foo456", foo123auth), function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.success).toBe(1);
- expect(body.error).toBe(0);
- done();
- });
- });
- });
- it("rejects invalid auth codes", function (done) {
- request(friend(true, "foo456", "nah"), function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.success).toBe(0);
- expect(body.error).toBe(1);
- done();
- });
- });
- it("cannot add friends twice", function (done) {
- request(friend(true, "foo456", foo123auth), function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.success).toBe(0);
- expect(body.error).toBe(2);
- done();
- });
- });
- it("rejects non-existant friends", function (done) {
- request(friend(true, "foo4", foo123auth), function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.success).toBe(0);
- expect(body.error).toBe(3);
- done();
- });
- });
- it("rejects if you add yourself :(", function (done) {
- request(friend(true, "foo123", foo123auth), function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.success).toBe(0);
- expect(body.error).toBe(4);
- done();
- });
- });
- it("reject malformed requests", function (done) {
- request({
- url: base_url + "/friends/add/",
- method: "POST",
- json: {
- yeah: "no"
- }
- }, function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.success).toBe(0);
- expect(body.error).toBe(5);
- done();
- });
- });
- });
- describe("POST /friends/remove/", function () {
- it("can remove friends", function (done) {
- request(friend(false, "foo456", foo123auth), function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.success).toBe(1);
- expect(body.error).toBe(0);
- done();
- });
- });
- it("rejects invalid auth keys", function (done) {
- request(friend(false, "foo456", "nah"), function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.success).toBe(0);
- expect(body.error).toBe(1);
- done();
- });
- });
- it("cannot remove users who aren't friends", function (done) {
- request(friend(false, "foo", foo123auth), function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.success).toBe(0);
- expect(body.error).toBe(2);
- done();
- });
- });
- it("reject malformed requests", function (done) {
- request({
- url: base_url + "/friends/remove/",
- method: "POST",
- json: {
- yeah: "no"
- }
- }, function (error, response, body) {
- expect(response.statusCode).toBe(200);
- expect(body.success).toBe(0);
- expect(body.error).toBe(3);
- done();
- });
- });
- });
- });
|