diff --git a/web/app/common/store.test.js b/web/app/common/store.test.js
index 1694472b..191351b7 100644
--- a/web/app/common/store.test.js
+++ b/web/app/common/store.test.js
@@ -3,9 +3,11 @@ import store from './store';
describe('Store', () => {
it('should trigger listener on add comment', () => {
const listener = jest.fn();
+
store.set('comments', []);
store.onUpdate('comments', listener);
store.addComment({id:`new`});
+
expect(listener).toBeCalledWith([{"comment": {"id": "new"}}]);
});
});
diff --git a/web/app/components/auth-panel/__tests__/auth-panel.test.js b/web/app/components/auth-panel/__tests__/auth-panel.test.js
index fc49cef1..30a845f0 100644
--- a/web/app/components/auth-panel/__tests__/auth-panel.test.js
+++ b/web/app/components/auth-panel/__tests__/auth-panel.test.js
@@ -5,46 +5,67 @@ import {createDomContainer} from 'testUtils';
describe('', () => {
describe('For not authorized user', () => {
let container;
+
createDomContainer(({domContainer}) => {
container = domContainer;
});
+
it('should render login form with google and github provider', () => {
const element = ;
+
render(element, container);
+
const authPanelColumn = container.querySelectorAll('.auth-panel__column');
+
expect(authPanelColumn.length).toEqual(2);
+
const authForm = authPanelColumn[0];
+
expect(authForm.textContent)
.toEqual(expect.stringContaining('Sign in to comment using'));
+
const providerLinks = authForm.querySelectorAll('.auth-panel__pseudo-link');
+
expect(providerLinks[0].textContent).toEqual('Google');
expect(providerLinks[1].textContent).toEqual('GitHub');
});
});
describe('For authorized user', () => {
let container;
+
createDomContainer(({domContainer}) => {
container = domContainer;
});
+
it('should render info about current user', () => {
const element = ;
+
render(element, container);
+
const authPanelColumn = container.querySelectorAll('.auth-panel__column');
+
expect(authPanelColumn.length).toEqual(2);
+
const userInfo = authPanelColumn[0];
+
expect(userInfo.textContent)
.toEqual(expect.stringContaining('You signed in as John. Sign out?'));
});
});
describe('For admin user', () => {
let container;
+
createDomContainer(({domContainer}) => {
container = domContainer;
});
+
it('should render admin action', () => {
const element = ;
+
render(element, container);
+
const adminAction = container.querySelector('.auth-panel__admin-action');
+
expect(adminAction.textContent)
.toEqual('Show blocked');
});
diff --git a/web/app/components/auth-panel/auth-panel.jsx b/web/app/components/auth-panel/auth-panel.jsx
index 54ed9378..3a6a56f1 100644
--- a/web/app/components/auth-panel/auth-panel.jsx
+++ b/web/app/components/auth-panel/auth-panel.jsx
@@ -51,7 +51,7 @@ export default class AuthPanel extends Component {
}
{
- loggedIn === false && (
+ !loggedIn && (
Sign in to comment using
{' '}
diff --git a/web/app/components/preloader/__tests__/preloader.test.jsx b/web/app/components/preloader/__tests__/preloader.test.jsx
index a8d820b9..8d490ace 100644
--- a/web/app/components/preloader/__tests__/preloader.test.jsx
+++ b/web/app/components/preloader/__tests__/preloader.test.jsx
@@ -4,12 +4,14 @@ import {createDomContainer} from 'testUtils';
describe(`
`, () => {
let container;
+
createDomContainer(({domContainer}) => {
container = domContainer;
});
it('should render Preloader', () => {
render(
, container);
+
expect(container.children[0].className).toEqual('preloader root__preloader');
});
});