/** * IM客户端单元测试。单元测试编写规则:至少对对每个接口执行正反例测试,若有条件可以增加接口的性能测试。 * * @author sand * @since 2016/12/24 */ "use strict"; var $ = require('jquery'); let assert = require('assert'); let imClient = require('../../src/client/im.client'); // 测试会话用的数据, test data let TD = { DoctorA: { id: "0de7295862dd11e69faffa163e8aee56", token: "0PFWlKmLBN9YzhCfFWVgYA", clientId: "H6FYbDejks6VjMmW3uH7V6", platform: 0 } }; describe("IM SDK: user", function () { /** * 用户API。测试范围: * 1 有效/无效用户ID登录/状态更新/退出 */ describe("User API", function () { describe("login", function () { it("return 200 with valid user", function (done) { imClient.Users.login(TD.DoctorA.id, TD.DoctorA.token, TD.DoctorA.clientId, TD.DoctorA.platform, function (data) { assert.strictEqual(Object.keys(data).length, 0); done(); }, function (xhr, status, error) { assert.ok(false, xhr.responseJSON.message); done(); }); }); it("return 404 with invalid user", function (done) { done(); }); }); describe("updateStatus", function () { it("return 200 with valid user", function (done) { imClient.Users.updateStatus(TD.DoctorA.id, 1, function (data) { done(); }, function (xhr, status, error) { done(); }); }); it("return 404 with invalid user", function (done) { imClient.Users.updateStatus("invalid_user_id", 1, function (data) { done(); }, function (xhr, status, error) { done(); }); }); }); describe("logout", function () { it("return 200 with valid user", function (done) { imClient.Users.logout(TD.DoctorA.id, function (data) { assert.strictEqual(Object.keys(data).length, 0); done(); }, function (xhr, status, error) { assert.strictEqual(status, "error"); done() }); }); it("return 404 with invalid user id", function (done) { imClient.Users.logout("invalid_user_id", function (data) { assert.ok(false, "Logout with invalid user id must NOT return success"); done(); }, function (xhr, status, error) { assert.strictEqual(xhr.status, 404); done() }); }); }); }); });