im.client.user.Test.js 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /**
  2. * IM客户端单元测试。单元测试编写规则:至少对对每个接口执行正反例测试,若有条件可以增加接口的性能测试。
  3. *
  4. * @author sand
  5. * @since 2016/12/24
  6. */
  7. "use strict";
  8. var $ = require('jquery');
  9. let assert = require('assert');
  10. let imClient = require('../../src/client/im.client');
  11. // 测试会话用的数据, test data
  12. let TD = {
  13. DoctorA: {
  14. id: "0de7295862dd11e69faffa163e8aee56",
  15. token: "0PFWlKmLBN9YzhCfFWVgYA",
  16. clientId: "H6FYbDejks6VjMmW3uH7V6",
  17. platform: 0
  18. }
  19. };
  20. describe("IM SDK: user", function () {
  21. /**
  22. * 用户API。测试范围:
  23. * 1 有效/无效用户ID登录/状态更新/退出
  24. */
  25. describe("User API", function () {
  26. describe("login", function () {
  27. it("return 200 with valid user", function (done) {
  28. imClient.Users.login(TD.DoctorA.id, TD.DoctorA.token, TD.DoctorA.clientId, TD.DoctorA.platform,
  29. function (data) {
  30. assert.strictEqual(Object.keys(data).length, 0);
  31. done();
  32. },
  33. function (xhr, status, error) {
  34. assert.ok(false, xhr.responseJSON.message);
  35. done();
  36. });
  37. });
  38. it("return 404 with invalid user", function (done) {
  39. done();
  40. });
  41. });
  42. describe("updateStatus", function () {
  43. it("return 200 with valid user", function (done) {
  44. imClient.Users.updateStatus(TD.DoctorA.id, 1, function (data) {
  45. done();
  46. },
  47. function (xhr, status, error) {
  48. done();
  49. });
  50. });
  51. it("return 404 with invalid user", function (done) {
  52. imClient.Users.updateStatus("invalid_user_id", 1, function (data) {
  53. done();
  54. },
  55. function (xhr, status, error) {
  56. done();
  57. });
  58. });
  59. });
  60. describe("logout", function () {
  61. it("return 200 with valid user", function (done) {
  62. imClient.Users.logout(TD.DoctorA.id, function (data) {
  63. assert.strictEqual(Object.keys(data).length, 0);
  64. done();
  65. },
  66. function (xhr, status, error) {
  67. assert.strictEqual(status, "error");
  68. done()
  69. });
  70. });
  71. it("return 404 with invalid user id", function (done) {
  72. imClient.Users.logout("invalid_user_id", function (data) {
  73. assert.ok(false, "Logout with invalid user id must NOT return success");
  74. done();
  75. },
  76. function (xhr, status, error) {
  77. assert.strictEqual(xhr.status, 404);
  78. done()
  79. });
  80. });
  81. });
  82. });
  83. });