auth-message.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import assert from 'assert';
  2. import React from 'react'; // jshint ignore:line
  3. import ReactDOM from 'react-dom'; // jshint ignore:line
  4. import AuthMessage from 'misago/components/auth-message'; // jshint ignore:line
  5. describe("Auth Message", function() {
  6. afterEach(function() {
  7. window.emptyTestContainers();
  8. });
  9. it('renders stateless', function() {
  10. /* jshint ignore:start */
  11. ReactDOM.render(
  12. <AuthMessage />,
  13. document.getElementById('test-mount')
  14. );
  15. /* jshint ignore:end */
  16. let element = $('#test-mount .auth-message');
  17. assert.ok(element.length, "component renders when its stateless");
  18. assert.ok(!element.hasClass('show'), "component is hidden");
  19. });
  20. it('renders signed out', function() {
  21. /* jshint ignore:start */
  22. ReactDOM.render(
  23. <AuthMessage user={{username: 'Boberson'}}
  24. signedOut={true}
  25. signedIn={false} />,
  26. document.getElementById('test-mount')
  27. );
  28. /* jshint ignore:end */
  29. let element = $('#test-mount .auth-message');
  30. assert.ok(element.length, "component renders for signed out");
  31. assert.ok(element.hasClass('show'), "component is visible");
  32. });
  33. it('renders signed in', function() {
  34. /* jshint ignore:start */
  35. ReactDOM.render(
  36. <AuthMessage user={null}
  37. signedOut={false}
  38. signedIn={{username: 'Boberson'}} />,
  39. document.getElementById('test-mount')
  40. );
  41. /* jshint ignore:end */
  42. let element = $('#test-mount .auth-message');
  43. assert.ok(element.length, "component renders for signed in");
  44. assert.ok(element.hasClass('show'), "component is visible");
  45. });
  46. });