import assert from 'assert';
import React from 'react'; // jshint ignore:line
import ReactDOM from 'react-dom'; // jshint ignore:line
import { GuestMenu, GuestNav, CompactGuestNav } from 'misago/components/user-menu/guest-nav'; // jshint ignore:line
import misago from 'misago/index';
import dropdown from 'misago/services/mobile-navbar-dropdown';
import modal from 'misago/services/modal';
import store from 'misago/services/store';
describe("GuestMenu", function() {
beforeEach(function() {
window.initEmptyStore(store);
window.initDropdown(dropdown);
window.initModal(modal);
misago._context = {
'FORGOTTEN_PASSWORD_URL': '/forgotten-password/'
};
/* jshint ignore:start */
ReactDOM.render(
,
document.getElementById('test-mount')
);
/* jshint ignore:end */
});
afterEach(function() {
window.emptyTestContainers();
});
it('renders', function() {
let element = $('#test-mount .dropdown-menu');
assert.ok(element.length, "component renders");
});
it('opens sign in modal on click', function(done) {
window.simulateClick('#test-mount .btn-default');
window.onElement('#modal-mount .modal-sign-in', function() {
assert.ok(true, "sign in modal was displayed");
done();
});
});
});
describe("GuestNav", function() {
beforeEach(function() {
window.initEmptyStore(store);
window.initDropdown(dropdown);
window.initModal(modal);
misago._context = {
'FORGOTTEN_PASSWORD_URL': '/forgotten-password/'
};
/* jshint ignore:start */
ReactDOM.render(
,
document.getElementById('test-mount')
);
/* jshint ignore:end */
});
afterEach(function() {
window.emptyTestContainers();
});
it('renders', function() {
let element = $('#test-mount .nav-guest');
assert.ok(element.length, "component renders");
});
it('opens sign in modal on click', function(done) {
window.simulateClick('#test-mount .btn-default');
window.onElement('#modal-mount .modal-sign-in', function() {
assert.ok(true, "sign in modal was displayed");
done();
});
});
});
describe("CompactGuestNav", function() {
beforeEach(function() {
window.initEmptyStore(store);
window.initDropdown(dropdown);
/* jshint ignore:start */
ReactDOM.render(
,
document.getElementById('test-mount')
);
/* jshint ignore:end */
});
afterEach(function() {
window.emptyTestContainers();
});
it('renders', function() {
let element = $('#test-mount img.user-avatar');
assert.ok(element.length, "component renders");
});
it('opens dropdown on click', function() {
window.simulateClick('#test-mount button');
let element = $('#dropdown-mount>.dropdown-menu');
assert.ok(element.length, "component opened dropdown");
});
});