summaryrefslogtreecommitdiff
path: root/web-ui/test
diff options
context:
space:
mode:
authorAnike Arni <aarni@thoughtworks.com>2017-02-23 11:34:14 -0300
committerAnike Arni <aarni@thoughtworks.com>2017-02-23 11:42:11 -0300
commit1997c401a5e67b76663d3996ec085eb6782c34e9 (patch)
tree5c445c20327351c5c0004fe4dc2a65143eec9612 /web-ui/test
parent5470cd7729f656fe2ed3a00d0cc301455d63d706 (diff)
[#907] Adds integration test for translations
For this test, we refactored the way translations were done for backup account and login, concentrating them in the common/app.js component. with @thaissiqueira
Diffstat (limited to 'web-ui/test')
-rw-r--r--web-ui/test/integration/translations.spec.js28
-rw-r--r--web-ui/test/unit/login/app.spec.js53
-rw-r--r--web-ui/test/unit/login/page.spec.js53
3 files changed, 68 insertions, 66 deletions
diff --git a/web-ui/test/integration/translations.spec.js b/web-ui/test/integration/translations.spec.js
index 1173695d..fe17838b 100644
--- a/web-ui/test/integration/translations.spec.js
+++ b/web-ui/test/integration/translations.spec.js
@@ -1,21 +1,23 @@
import { mount } from 'enzyme';
import expect from 'expect';
import React from 'react';
-import App from 'src/backup_account/app';
-import testI18n from './i18n'
+import App from 'src/common/app';
+import BackupAccountPage from 'src/backup_account/page';
+import LoginPage from 'src/login/page';
+import testI18n from './i18n';
-describe('App', () => {
- let app;
-
- beforeEach(() => {
- app = mount(<App i18n={testI18n} />);
- });
-
- it('renders translated header logout text', () => {
- expect(app.find('header').text()).toContain('Logout');
+describe('Translations', () => {
+ context('Backup Account Page', () => {
+ it('translates all key', () => {
+ const app = mount(<App i18n={testI18n} child={<BackupAccountPage />} />);
+ expect(app.text()).toNotContain('untranslated', 'Unstranslated message found in the text: ' + app.text());
+ });
});
- it('renders translated footer text', () => {
- expect(app.find('footer').text()).toContain('Product in development. Feedback and issues to team@pixelated-project.org');
+ context('Login Page', () => {
+ it('translates all key', () => {
+ const app = mount(<App i18n={testI18n} child={<LoginPage />} />);
+ expect(app.text()).toNotContain('untranslated', 'Unstranslated message found in the text: ' + app.text());
+ });
});
});
diff --git a/web-ui/test/unit/login/app.spec.js b/web-ui/test/unit/login/app.spec.js
deleted file mode 100644
index 39d21f04..00000000
--- a/web-ui/test/unit/login/app.spec.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import { shallow } from 'enzyme';
-import expect from 'expect';
-import React from 'react';
-import { App } from 'src/login/app';
-import AuthError from 'src/login/error/auth_error';
-import GenericError from 'src/login/error/generic_error';
-import PixelatedWelcome from 'src/login/about/pixelated_welcome';
-
-describe('App', () => {
- let app;
- const mockTranslations = key => key;
-
- it('renders login form', () => {
- app = shallow(<App t={mockTranslations} />);
- expect(app.find('form').props().action).toEqual('/login');
- });
-
- it('renders welcome message when no error', () => {
- app = shallow(<App t={mockTranslations} />);
- expect(app.find(PixelatedWelcome).length).toEqual(1);
- });
-
- it('renders auth error message', () => {
- app = shallow(<App t={mockTranslations} authError />);
- expect(app.find(AuthError).length).toEqual(1);
- });
-
- it('renders generic error message when error', () => {
- app = shallow(<App t={mockTranslations} error />);
- expect(app.find(GenericError).length).toEqual(1);
- });
-
- it('does not render welcome message when error', () => {
- app = shallow(<App t={mockTranslations} error />);
- expect(app.find(PixelatedWelcome).length).toEqual(0);
- });
-
- it('does not render error message', () => {
- app = shallow(<App t={mockTranslations} />);
- expect(app.find(AuthError).length).toEqual(0);
- expect(app.find(GenericError).length).toEqual(0);
- });
-
- it('adds small logo class when error', () => {
- app = shallow(<App t={mockTranslations} error />);
- expect(app.find('.logo').props().className).toEqual('logo small-logo');
- });
-
- it('does not add small logo class when no error', () => {
- app = shallow(<App t={mockTranslations} />);
- expect(app.find('.logo').props().className).toEqual('logo');
- });
-});
diff --git a/web-ui/test/unit/login/page.spec.js b/web-ui/test/unit/login/page.spec.js
new file mode 100644
index 00000000..b4063222
--- /dev/null
+++ b/web-ui/test/unit/login/page.spec.js
@@ -0,0 +1,53 @@
+import { shallow } from 'enzyme';
+import expect from 'expect';
+import React from 'react';
+import { Page } from 'src/login/page';
+import AuthError from 'src/login/error/auth_error';
+import GenericError from 'src/login/error/generic_error';
+import PixelatedWelcome from 'src/login/about/pixelated_welcome';
+
+describe('Page', () => {
+ let page;
+ const mockTranslations = key => key;
+
+ it('renders login form', () => {
+ page = shallow(<Page t={mockTranslations} />);
+ expect(page.find('form').props().action).toEqual('/login');
+ });
+
+ it('renders welcome message when no error', () => {
+ page = shallow(<Page t={mockTranslations} />);
+ expect(page.find(PixelatedWelcome).length).toEqual(1);
+ });
+
+ it('renders auth error message', () => {
+ page = shallow(<Page t={mockTranslations} authError />);
+ expect(page.find(AuthError).length).toEqual(1);
+ });
+
+ it('renders generic error message when error', () => {
+ page = shallow(<Page t={mockTranslations} error />);
+ expect(page.find(GenericError).length).toEqual(1);
+ });
+
+ it('does not render welcome message when error', () => {
+ page = shallow(<Page t={mockTranslations} error />);
+ expect(page.find(PixelatedWelcome).length).toEqual(0);
+ });
+
+ it('does not render error message', () => {
+ page = shallow(<Page t={mockTranslations} />);
+ expect(page.find(AuthError).length).toEqual(0);
+ expect(page.find(GenericError).length).toEqual(0);
+ });
+
+ it('adds small logo class when error', () => {
+ page = shallow(<Page t={mockTranslations} error />);
+ expect(page.find('.logo').props().className).toEqual('logo small-logo');
+ });
+
+ it('does not add small logo class when no error', () => {
+ page = shallow(<Page t={mockTranslations} />);
+ expect(page.find('.logo').props().className).toEqual('logo');
+ });
+});