import assert from 'assert'; import moment from 'moment'; import misago from 'misago/index'; import store from 'misago/services/store'; // jshint ignore:line import showBannedPage from 'misago/utils/banned-page'; import * as testUtils from 'misago/utils/test-utils'; let ban = { message: { plain: 'Lorem ipsum dolor met sit amet elit!', html: '

Lorem ipsum dolor met sit amet elit!

' }, expires_on: moment().add(7, 'days') }; describe('Show Banned Page', function() { beforeEach(function() { misago._context = { 'SETTINGS': { 'forum_name': 'Fake Forum' }, 'BANNED_URL': 'banned/' }; /* jshint ignore:start */ store.constructor(); store.addReducer('tick', function(state={tick: 1}, action=null) { return {tick: 1}; }, {}); store.init(); /* jshint ignore:end */ }); afterEach(function() { testUtils.unmountComponents(); }); it("renders banned page", function(done) { showBannedPage(ban, false); window.setTimeout(function() { assert.equal( $('#page-mount .page-error-banned .lead p').text().trim(), "Lorem ipsum dolor met sit amet elit!", "utility renders ban message"); assert.equal( $('#page-mount .page-error-banned p.message-footnote').text().trim(), "This ban expires in 7 days.", "utility renders ban message expiration"); done(); }, 200); }); it("changes context", function() { showBannedPage(ban, true); assert.equal(document.title, "You are banned | Fake Forum", "page title was changed"); assert.equal( String(document.location.href).substr(-19), 'test-runner/banned/', "page location was changed."); }); });