diff options
Diffstat (limited to 'web-ui/src')
-rw-r--r-- | web-ui/src/backup_account/page.spec.js | 25 | ||||
-rw-r--r-- | web-ui/src/common/footer/footer.spec.js | 17 | ||||
-rw-r--r-- | web-ui/src/common/header/header.spec.js | 17 | ||||
-rw-r--r-- | web-ui/src/common/input_field/input_field.spec.js | 20 | ||||
-rw-r--r-- | web-ui/src/common/submit_button/submit_button.spec.js | 16 | ||||
-rw-r--r-- | web-ui/src/common/util.spec.js | 20 | ||||
-rw-r--r-- | web-ui/src/login/about/welcome.spec.js | 17 | ||||
-rw-r--r-- | web-ui/src/login/error/auth_error.spec.js | 17 | ||||
-rw-r--r-- | web-ui/src/login/error/generic_error.spec.js | 17 | ||||
-rw-r--r-- | web-ui/src/login/page.spec.js | 53 |
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'); + }); +}); |