dropdown-toggle.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import assert from 'assert';
  2. import React from 'react'; // jshint ignore:line
  3. import DropdownToggle from 'misago/components/dropdown-toggle'; // jshint ignore:line
  4. import * as testUtils from 'misago/utils/test-utils';
  5. describe("Dropdown Toggle", function() {
  6. afterEach(function() {
  7. testUtils.unmountComponents();
  8. });
  9. it('renders', function() {
  10. /* jshint ignore:start */
  11. testUtils.render(<DropdownToggle />);
  12. /* jshint ignore:end */
  13. let element = $('#test-mount button');
  14. assert.ok(element.length, "component rendered");
  15. assert.equal(element.attr('type'), 'button', "component is regular button");
  16. });
  17. it('handles clicks', function(done) { // jshint ignore:line
  18. /* jshint ignore:start */
  19. function click() {
  20. assert.ok(true, "component called callback on click");
  21. done();
  22. }
  23. testUtils.render(<DropdownToggle toggleNav={click} />);
  24. /* jshint ignore:end */
  25. let element = $('#test-mount button');
  26. assert.ok(element.length, "component rendered");
  27. assert.equal(element.attr('type'), 'button', "component is regular button");
  28. testUtils.simulateClick('#test-mount button');
  29. });
  30. it('renders open', function() {
  31. /* jshint ignore:start */
  32. testUtils.render(<DropdownToggle dropdown={true} />);
  33. /* jshint ignore:end */
  34. let element = $('#test-mount button');
  35. assert.ok(element.hasClass('open'), "button has open class");
  36. assert.equal(element.attr('aria-expanded'), 'true',
  37. "aria-expanded is set to true");
  38. });
  39. });