avatar.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import assert from 'assert';
  2. import React from 'react'; // jshint ignore:line
  3. import ReactDOM from 'react-dom'; // jshint ignore:line
  4. import Avatar from 'misago/components/avatar'; // jshint ignore:line
  5. describe("Avatar", function() {
  6. afterEach(function() {
  7. window.emptyTestContainers();
  8. });
  9. it('renders guest avatar', function() {
  10. /* jshint ignore:start */
  11. ReactDOM.render(
  12. <Avatar size="42" />,
  13. document.getElementById('test-mount')
  14. );
  15. /* jshint ignore:end */
  16. let element = $('#test-mount img.user-avatar');
  17. assert.ok(element.length, "component renders for guest");
  18. assert.equal(element.attr('src'), '/test-runner/user-avatar/42.png', "component builds valid avatar url");
  19. });
  20. it('renders user avatar', function() {
  21. /* jshint ignore:start */
  22. let user = {
  23. id: 1234,
  24. avatar_hash: 'aabbccddeeff'
  25. };
  26. ReactDOM.render(
  27. <Avatar user={user} size="42" />,
  28. document.getElementById('test-mount')
  29. );
  30. /* jshint ignore:end */
  31. let element = $('#test-mount img.user-avatar');
  32. assert.ok(element.length, "component renders for user");
  33. assert.equal(element.attr('src'), '/test-runner/user-avatar/aabbccddeeff/42/1234.png',
  34. "component builds valid avatar url for authenticated");
  35. });
  36. });