diff options
author | Tayane Fernandes <tayane.rmf@gmail.com> | 2017-03-15 14:09:42 -0300 |
---|---|---|
committer | Tayane Fernandes <tayane.rmf@gmail.com> | 2017-03-16 10:28:44 -0300 |
commit | 54c6c6b7c932ea7fe600592a861f7b46391b494d (patch) | |
tree | 3b7464d0aa6ff77e177e57a2daec11f77bfcb75d /web-ui/src/backup_account/confirmation | |
parent | ea05559a4346b7119287356e408db453e39d1cb7 (diff) |
[#971] Add backup account confirmation page
with @tuliocasagrande
Diffstat (limited to 'web-ui/src/backup_account/confirmation')
3 files changed, 116 insertions, 0 deletions
diff --git a/web-ui/src/backup_account/confirmation/confirmation.js b/web-ui/src/backup_account/confirmation/confirmation.js new file mode 100644 index 00000000..324d46ba --- /dev/null +++ b/web-ui/src/backup_account/confirmation/confirmation.js @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2017 ThoughtWorks, Inc. + * + * Pixelated is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Pixelated is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Pixelated. If not, see <http://www.gnu.org/licenses/>. + */ + +import React from 'react'; +import { translate } from 'react-i18next'; +import SubmitButton from 'src/common/submit_button/submit_button'; + +import './confirmation.scss'; + +export const Confirmation = ({ t }) => ( + <div className='confirmation'> + <h1>{t('backup-account.confirmation.title1')} <br /> {t('backup-account.confirmation.title2')}</h1> + <p>{t('backup-account.confirmation.paragraph')}</p> + <img src='/public/images/sent-mail.svg' alt='Sent mail' /> + <SubmitButton buttonText={t('backup-account.confirmation.button')} /> + <div className='link-content'> + <a href='/backup-account' className='link'> + <i className='fa fa-angle-left' aria-hidden='true' /> + <span>{t('backup-account.confirmation.retry-button')}</span> + </a> + </div> + </div> +); + +Confirmation.propTypes = { + t: React.PropTypes.func.isRequired +}; + +export default translate('', { wait: true })(Confirmation); diff --git a/web-ui/src/backup_account/confirmation/confirmation.scss b/web-ui/src/backup_account/confirmation/confirmation.scss new file mode 100644 index 00000000..44f3fa8a --- /dev/null +++ b/web-ui/src/backup_account/confirmation/confirmation.scss @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2017 ThoughtWorks, Inc. + * + * Pixelated is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Pixelated is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Pixelated. If not, see <http://www.gnu.org/licenses/>. + */ + +@import "~scss/vendor/reset"; +@import "~scss/base/colors"; +@import "~scss/base/fonts"; + + + +.confirmation { + background: $white; + width: 84%; + margin: 3% auto; + padding: 6% 5%; + box-shadow: 0 2px 3px 0 $shadow; +} + +@media only screen and (min-width : 500px) { + +} + +@media only screen and (min-width : 960px) { + .confirmation{ + width: 60%; + padding: 3em; + align-items: flex-start; + flex-direction: row; + max-width: 700px; + } +} diff --git a/web-ui/src/backup_account/confirmation/confirmation.spec.js b/web-ui/src/backup_account/confirmation/confirmation.spec.js new file mode 100644 index 00000000..c0ff7df2 --- /dev/null +++ b/web-ui/src/backup_account/confirmation/confirmation.spec.js @@ -0,0 +1,29 @@ +import { shallow } from 'enzyme'; +import expect from 'expect'; +import React from 'react'; +import { Confirmation } from 'src/backup_account/confirmation/confirmation'; + +describe('Confirmation', () => { + let page; + + beforeEach(() => { + const mockTranslations = key => key; + page = shallow(<Confirmation t={mockTranslations} />); + }); + + it('renders confirmation title', () => { + expect(page.find('h1').text()).toContain('backup-account.confirmation.title1'); + }); + + it('renders confirmation submit button', () => { + expect(page.find('SubmitButton').props().buttonText).toEqual('backup-account.confirmation.button'); + }); + + it('renders confirmation retry button', () => { + expect(page.find('a').text()).toEqual('backup-account.confirmation.retry-button'); + }); + + it('retry button redirects to backup account', () => { + expect(page.find('a').props().href).toEqual('/backup-account'); + }); +}); |