guest-menu.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import assert from 'assert';
  2. import React from 'react'; // jshint ignore:line
  3. import ReactDOM from 'react-dom'; // jshint ignore:line
  4. import ReactTestUtils from 'react-addons-test-utils';
  5. import { CompactGuestNav } from 'misago/components/user-menu/guest-nav'; // jshint ignore:line
  6. import dropdown from 'misago/services/mobile-navbar-dropdown';
  7. import store from 'misago/services/store';
  8. describe("CompactGuestNav", function() {
  9. beforeEach(function() {
  10. window.initEmptyStore(store);
  11. window.initDropdown(dropdown);
  12. });
  13. afterEach(function() {
  14. window.emptyTestContainers();
  15. });
  16. it('renders', function() {
  17. /* jshint ignore:start */
  18. ReactDOM.render(
  19. <CompactGuestNav />,
  20. document.getElementById('test-mount')
  21. );
  22. /* jshint ignore:end */
  23. let element = $('#test-mount img.user-avatar');
  24. assert.ok(element.length, "component renders");
  25. });
  26. it('opens dropdown on click', function() {
  27. /* jshint ignore:start */
  28. ReactDOM.render(
  29. <CompactGuestNav />,
  30. document.getElementById('test-mount')
  31. );
  32. /* jshint ignore:end */
  33. ReactTestUtils.Simulate.click($('#test-mount button').get(0));
  34. let element = $('#dropdown-mount>.dropdown-menu');
  35. assert.ok(element.length, "component opened dropdown");
  36. });
  37. });