user-card.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import assert from 'assert';
  2. import moment from 'moment';
  3. import React from 'react'; // jshint ignore:line
  4. import UserCard from 'misago/components/users-list/user-card'; // jshint ignore:line
  5. import * as testUtils from 'misago/utils/test-utils';
  6. describe("Users List Item", function() {
  7. afterEach(function() {
  8. testUtils.unmountComponents();
  9. });
  10. it("renders with ui-preview", function(done) {
  11. let user = testUtils.mockUser({
  12. title: "Lorem ipsum",
  13. joined_on: moment()
  14. });
  15. /* jshint ignore:start */
  16. testUtils.render(
  17. <UserCard user={user} showStatus={true} />
  18. );
  19. /* jshint ignore:end */
  20. testUtils.onElement('#test-mount .user-card.ui-ready', function() {
  21. assert.ok(true, "component renders");
  22. assert.ok($('#test-mount .status-label.ui-preview').length,
  23. "status preview is rendered");
  24. assert.equal($('#test-mount .user-title').text().trim(), user.title,
  25. "user title is rendered");
  26. done();
  27. });
  28. });
  29. it("renders", function(done) {
  30. let user = testUtils.mockUser({
  31. title: "Lorem ipsum",
  32. status: {
  33. is_online: true
  34. },
  35. joined_on: moment()
  36. });
  37. /* jshint ignore:start */
  38. testUtils.render(
  39. <UserCard user={user} showStatus={true} />
  40. );
  41. /* jshint ignore:end */
  42. testUtils.onElement('#test-mount .user-card.ui-ready', function() {
  43. assert.ok(true, "component renders");
  44. assert.equal($('#test-mount .status-label').text().trim(), 'Online',
  45. "status label is rendered");
  46. assert.equal($('#test-mount .user-title').text().trim(), user.title,
  47. "user title is rendered");
  48. done();
  49. });
  50. });
  51. it("renders without status", function(done) {
  52. let user = testUtils.mockUser({
  53. title: "Lorem ipsum",
  54. status: {is_online: true},
  55. joined_on: moment()
  56. });
  57. /* jshint ignore:start */
  58. testUtils.render(
  59. <UserCard user={user} showStatus={false} />
  60. );
  61. /* jshint ignore:end */
  62. testUtils.onElement('#test-mount .user-card.ui-ready', function() {
  63. assert.ok(true, "component renders");
  64. assert.ok(!$('#test-mount .user-status').length, "status is hidden");
  65. assert.equal($('#test-mount .user-title').text().trim(), user.title,
  66. "user title is rendered");
  67. done();
  68. });
  69. });
  70. });