import assert from 'assert'; import moment from 'moment'; // jshint ignore:line import React from 'react'; // jshint ignore:line import ReactDOM from 'react-dom'; // jshint ignore:line import BannedPage from 'misago/components/banned-page'; // jshint ignore:line describe("Banned page", function() { afterEach(function() { window.emptyTestContainers(); }); it('renders', function() { /* jshint ignore:start */ ReactDOM.render( Lorem ipsum!

'}} expires={null} />, document.getElementById('test-mount') ); /* jshint ignore:end */ assert.equal( $('#test-mount .page-error-banned .lead p').text().trim(), "Lorem ipsum!", "component renders with html ban message"); }); it('renders with fallback message', function() { /* jshint ignore:start */ ReactDOM.render( , document.getElementById('test-mount') ); /* jshint ignore:end */ assert.equal( $('#test-mount .page-error-banned p.lead').text().trim(), "Lorem ipsum plain!", "component renders with plaintext ban message"); }); it('renders with permanent expiration date', function() { /* jshint ignore:start */ ReactDOM.render( , document.getElementById('test-mount') ); /* jshint ignore:end */ assert.equal( $('#test-mount .page-error-banned p.message-footnote').text().trim(), "This ban is permanent.", "component renders with perma ban expiration"); }); it('renders with future expiration date', function() { /* jshint ignore:start */ let expires = moment().add(7, 'days'); ReactDOM.render( , document.getElementById('test-mount') ); /* jshint ignore:end */ assert.equal( $('#test-mount .page-error-banned p.message-footnote').text().trim(), "This ban expires in 7 days.", "component renders with future ban expiration"); }); it('renders with past expiration date', function() { /* jshint ignore:start */ let expires = moment().subtract(7, 'days'); ReactDOM.render( , document.getElementById('test-mount') ); /* jshint ignore:end */ assert.equal( $('#test-mount .page-error-banned p.message-footnote').text().trim(), "This ban has expired.", "component renders with past ban expiration"); }); });