summaryrefslogtreecommitdiff
path: root/web-ui/src
diff options
context:
space:
mode:
authorThais Siqueira <thais.siqueira@gmail.com>2017-02-24 14:27:31 -0300
committerThais Siqueira <thais.siqueira@gmail.com>2017-02-24 14:27:31 -0300
commitfec26b211a42b068e677ac5b43080bd4bf59e47a (patch)
treee5bb685c1370e7e10cc707258fa235d953f426a3 /web-ui/src
parentfb4630207d86d39ea05dd679b2724be87597c518 (diff)
[#907] Moves tests to directories components
Diffstat (limited to 'web-ui/src')
-rw-r--r--web-ui/src/backup_account/page.spec.js25
-rw-r--r--web-ui/src/common/footer/footer.spec.js17
-rw-r--r--web-ui/src/common/header/header.spec.js17
-rw-r--r--web-ui/src/common/input_field/input_field.spec.js20
-rw-r--r--web-ui/src/common/submit_button/submit_button.spec.js16
-rw-r--r--web-ui/src/common/util.spec.js20
-rw-r--r--web-ui/src/login/about/welcome.spec.js17
-rw-r--r--web-ui/src/login/error/auth_error.spec.js17
-rw-r--r--web-ui/src/login/error/generic_error.spec.js17
-rw-r--r--web-ui/src/login/page.spec.js53
10 files changed, 219 insertions, 0 deletions
diff --git a/web-ui/src/backup_account/page.spec.js b/web-ui/src/backup_account/page.spec.js
new file mode 100644
index 00000000..66d2dc78
--- /dev/null
+++ b/web-ui/src/backup_account/page.spec.js
@@ -0,0 +1,25 @@
+import { shallow } from 'enzyme';
+import expect from 'expect';
+import React from 'react';
+import { Page } from 'src/backup_account/page';
+
+describe('Page', () => {
+ let page;
+
+ beforeEach(() => {
+ const mockTranslations = key => key;
+ page = shallow(<Page t={mockTranslations} />);
+ });
+
+ it('renders backup email page title', () => {
+ expect(page.find('h1').text()).toEqual('backup-account.title');
+ });
+
+ it('renders backup account email input field', () => {
+ expect(page.find('InputField').props().name).toEqual('email');
+ });
+
+ it('renders backup account submit button', () => {
+ expect(page.find('SubmitButton').props().buttonText).toEqual('backup-account.button');
+ });
+});
diff --git a/web-ui/src/common/footer/footer.spec.js b/web-ui/src/common/footer/footer.spec.js
new file mode 100644
index 00000000..f1247233
--- /dev/null
+++ b/web-ui/src/common/footer/footer.spec.js
@@ -0,0 +1,17 @@
+import { shallow } from 'enzyme';
+import expect from 'expect';
+import React from 'react';
+import { Footer } from 'src/common/footer/footer';
+
+describe('Footer', () => {
+ let footer;
+
+ beforeEach(() => {
+ const mockTranslations = key => key;
+ footer = shallow(<Footer t={mockTranslations} />);
+ });
+
+ it('renders the footer content', () => {
+ expect(footer.find('footer').text()).toContain('footer-text');
+ });
+});
diff --git a/web-ui/src/common/header/header.spec.js b/web-ui/src/common/header/header.spec.js
new file mode 100644
index 00000000..82e29e1c
--- /dev/null
+++ b/web-ui/src/common/header/header.spec.js
@@ -0,0 +1,17 @@
+import { shallow } from 'enzyme';
+import expect from 'expect';
+import React from 'react';
+import { Header } from 'src/common/header/header';
+
+describe('Header', () => {
+ let header;
+
+ beforeEach(() => {
+ const mockTranslations = key => key;
+ header = shallow(<Header t={mockTranslations} />);
+ });
+
+ it('renders the header content', () => {
+ expect(header.find('header').text()).toContain('logout');
+ });
+});
diff --git a/web-ui/src/common/input_field/input_field.spec.js b/web-ui/src/common/input_field/input_field.spec.js
new file mode 100644
index 00000000..0c044ce1
--- /dev/null
+++ b/web-ui/src/common/input_field/input_field.spec.js
@@ -0,0 +1,20 @@
+import { shallow } from 'enzyme';
+import expect from 'expect';
+import React from 'react';
+import InputField from 'src/common/input_field/input_field';
+
+describe('InputField', () => {
+ let inputField;
+
+ beforeEach(() => {
+ inputField = shallow(<InputField label='Email' name='email' />);
+ });
+
+ it('renders an input of type text for email', () => {
+ expect(inputField.find('input[type="text"]').props().name).toEqual('email');
+ });
+
+ it('renders a label for the email', () => {
+ expect(inputField.find('label').text()).toEqual('Email');
+ });
+});
diff --git a/web-ui/src/common/submit_button/submit_button.spec.js b/web-ui/src/common/submit_button/submit_button.spec.js
new file mode 100644
index 00000000..8279547c
--- /dev/null
+++ b/web-ui/src/common/submit_button/submit_button.spec.js
@@ -0,0 +1,16 @@
+import { shallow } from 'enzyme';
+import expect from 'expect';
+import React from 'react';
+import SubmitButton from 'src/common/submit_button/submit_button';
+
+describe('SubmitButton', () => {
+ let submitButton;
+
+ beforeEach(() => {
+ submitButton = shallow(<SubmitButton buttonText='Add Email' />);
+ });
+
+ it('renders an input of type submit for add email', () => {
+ expect(submitButton.find('input[type="submit"]').props().value).toEqual('Add Email');
+ });
+});
diff --git a/web-ui/src/common/util.spec.js b/web-ui/src/common/util.spec.js
new file mode 100644
index 00000000..805d9dd5
--- /dev/null
+++ b/web-ui/src/common/util.spec.js
@@ -0,0 +1,20 @@
+import expect from 'expect';
+import Util from 'src/common/util';
+
+describe('Utils', () => {
+ describe('.hasQueryParameter', () => {
+ global.window = {
+ location: {
+ search: '?auth-error&lng=pt-BR'
+ }
+ };
+
+ it('checks if param included in query parameters', () => {
+ expect(Util.hasQueryParameter('auth-error')).toBe(true);
+ });
+
+ it('checks if param not included in query parameters', () => {
+ expect(Util.hasQueryParameter('error')).toBe(false);
+ });
+ });
+});
diff --git a/web-ui/src/login/about/welcome.spec.js b/web-ui/src/login/about/welcome.spec.js
new file mode 100644
index 00000000..3e190c0c
--- /dev/null
+++ b/web-ui/src/login/about/welcome.spec.js
@@ -0,0 +1,17 @@
+import { shallow } from 'enzyme';
+import expect from 'expect';
+import React from 'react';
+import { Welcome } from 'src/login/about/welcome';
+
+describe('Welcome', () => {
+ let welcome;
+ const mockTranslations = key => key;
+
+ beforeEach(() => {
+ welcome = shallow(<Welcome t={mockTranslations} />);
+ });
+
+ it('renders welcome component', () => {
+ expect(welcome.find('.welcome').length).toEqual(1);
+ });
+});
diff --git a/web-ui/src/login/error/auth_error.spec.js b/web-ui/src/login/error/auth_error.spec.js
new file mode 100644
index 00000000..55d8920f
--- /dev/null
+++ b/web-ui/src/login/error/auth_error.spec.js
@@ -0,0 +1,17 @@
+import { shallow } from 'enzyme';
+import expect from 'expect';
+import React from 'react';
+import { AuthError } from 'src/login/error/auth_error';
+
+describe('AuthError', () => {
+ let authError;
+ const mockTranslations = key => key;
+
+ beforeEach(() => {
+ authError = shallow(<AuthError t={mockTranslations} />);
+ });
+
+ it('renders error message', () => {
+ expect(authError.find('.auth-error').length).toEqual(1);
+ });
+});
diff --git a/web-ui/src/login/error/generic_error.spec.js b/web-ui/src/login/error/generic_error.spec.js
new file mode 100644
index 00000000..1ef8349d
--- /dev/null
+++ b/web-ui/src/login/error/generic_error.spec.js
@@ -0,0 +1,17 @@
+import { shallow } from 'enzyme';
+import expect from 'expect';
+import React from 'react';
+import { GenericError } from 'src/login/error/generic_error';
+
+describe('GenericError', () => {
+ let genericError;
+ const mockTranslations = key => key;
+
+ beforeEach(() => {
+ genericError = shallow(<GenericError t={mockTranslations} />);
+ });
+
+ it('renders error message', () => {
+ expect(genericError.find('.generic-error').length).toEqual(1);
+ });
+});
diff --git a/web-ui/src/login/page.spec.js b/web-ui/src/login/page.spec.js
new file mode 100644
index 00000000..0fe6f729
--- /dev/null
+++ b/web-ui/src/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 Welcome from 'src/login/about/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(Welcome).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(Welcome).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');
+ });
+});