summaryrefslogtreecommitdiff
path: root/web-ui
diff options
context:
space:
mode:
authorSriram Viswanathan <sriramv@thoughtworks.com>2017-03-29 11:54:41 -0300
committerSriram Viswanathan <sriramv@thoughtworks.com>2017-03-29 11:54:41 -0300
commite2bb2aa79d4198f6bfdb59ac5e708bfebf787646 (patch)
tree6f936d33e8e5fa2bfb4be9764c91cf4ef83aa738 /web-ui
parentbe647527cba9fc715ca77da3233eac4575a902fe (diff)
[#931] PR feedback - use 'response.ok' for testing 'fetch' errors & minor refactoring
Diffstat (limited to 'web-ui')
-rw-r--r--web-ui/src/backup_account/backup_email/backup_email.js2
-rw-r--r--web-ui/src/backup_account/backup_email/backup_email.spec.js79
-rw-r--r--web-ui/src/backup_account/page.js2
3 files changed, 41 insertions, 42 deletions
diff --git a/web-ui/src/backup_account/backup_email/backup_email.js b/web-ui/src/backup_account/backup_email/backup_email.js
index 6eeadee8..7e6cb66c 100644
--- a/web-ui/src/backup_account/backup_email/backup_email.js
+++ b/web-ui/src/backup_account/backup_email/backup_email.js
@@ -55,7 +55,7 @@ export class BackupEmail extends React.Component {
csrftoken: [browser.getCookie('XSRF-TOKEN')]
})
}).then((response) => {
- if (response.status === 204) {
+ if (response.ok) {
this.props.onSubmit('success');
} else {
this.props.onSubmit('error');
diff --git a/web-ui/src/backup_account/backup_email/backup_email.spec.js b/web-ui/src/backup_account/backup_email/backup_email.spec.js
index ce357bf7..65fad608 100644
--- a/web-ui/src/backup_account/backup_email/backup_email.spec.js
+++ b/web-ui/src/backup_account/backup_email/backup_email.spec.js
@@ -84,61 +84,60 @@ describe('BackupEmail', () => {
});
});
- describe('Submit on success', () => {
+ describe('Submit', () => {
let preventDefaultSpy;
- beforeEach((done) => {
- mockOnSubmit = expect.createSpy().andCall(() => done());
+ beforeEach(() => {
preventDefaultSpy = expect.createSpy();
- expect.spyOn(browser, 'getCookie').andReturn('abc123');
-
- backupEmail = shallow(<BackupEmail t={mockTranslations} onSubmit={mockOnSubmit} />);
-
- fetchMock.post('/backup-account', 204);
- backupEmail.find('form').simulate('submit', { preventDefault: preventDefaultSpy });
});
- it('posts backup email', () => {
- expect(fetchMock.called('/backup-account')).toBe(true, 'Backup account POST was not called');
- });
+ context('on success', () => {
+ beforeEach((done) => {
+ mockOnSubmit = expect.createSpy().andCall(() => done());
+ expect.spyOn(browser, 'getCookie').andReturn('abc123');
- it('sends csrftoken as content', () => {
- expect(fetchMock.lastOptions('/backup-account').body).toContain('"csrftoken":["abc123"]');
- });
+ fetchMock.post('/backup-account', 204);
+ backupEmail = shallow(<BackupEmail t={mockTranslations} onSubmit={mockOnSubmit} />);
+ backupEmail.find('form').simulate('submit', { preventDefault: preventDefaultSpy });
+ });
- it('sends content-type header', () => {
- expect(fetchMock.lastOptions('/backup-account').headers['Content-Type']).toEqual('application/json');
- });
+ it('posts backup email', () => {
+ expect(fetchMock.called('/backup-account')).toBe(true, 'Backup account POST was not called');
+ });
- it('sends same origin headers', () => {
- expect(fetchMock.lastOptions('/backup-account').credentials).toEqual('same-origin');
- });
+ it('sends csrftoken as content', () => {
+ expect(fetchMock.lastOptions('/backup-account').body).toContain('"csrftoken":["abc123"]');
+ });
- it('prevents default call to refresh page', () => {
- expect(preventDefaultSpy).toHaveBeenCalled();
- });
+ it('sends content-type header', () => {
+ expect(fetchMock.lastOptions('/backup-account').headers['Content-Type']).toEqual('application/json');
+ });
- it('calls onSubmit from props with success', () => {
- expect(mockOnSubmit).toHaveBeenCalledWith('success');
- });
- });
+ it('sends same origin headers', () => {
+ expect(fetchMock.lastOptions('/backup-account').credentials).toEqual('same-origin');
+ });
- describe('Submit on error', () => {
- let preventDefaultSpy;
+ it('prevents default call to refresh page', () => {
+ expect(preventDefaultSpy).toHaveBeenCalled();
+ });
- beforeEach((done) => {
- mockOnSubmit = expect.createSpy().andCall(() => done());
- preventDefaultSpy = expect.createSpy();
- expect.spyOn(browser, 'getCookie').andReturn('abc123');
+ it('calls onSubmit from props with success', () => {
+ expect(mockOnSubmit).toHaveBeenCalledWith('success');
+ });
+ });
- backupEmail = shallow(<BackupEmail t={mockTranslations} onSubmit={mockOnSubmit} />);
+ context('on error', () => {
+ beforeEach((done) => {
+ mockOnSubmit = expect.createSpy().andCall(() => done());
- fetchMock.post('/backup-account', 500);
- backupEmail.find('form').simulate('submit', { preventDefault: preventDefaultSpy });
- });
+ fetchMock.post('/backup-account', 500);
+ backupEmail = shallow(<BackupEmail t={mockTranslations} onSubmit={mockOnSubmit} />);
+ backupEmail.find('form').simulate('submit', { preventDefault: preventDefaultSpy });
+ });
- it('calls onSubmit from props with error', () => {
- expect(mockOnSubmit).toHaveBeenCalledWith('error');
+ it('calls onSubmit from props with error', () => {
+ expect(mockOnSubmit).toHaveBeenCalledWith('error');
+ });
});
});
diff --git a/web-ui/src/backup_account/page.js b/web-ui/src/backup_account/page.js
index d5f64add..be3bae36 100644
--- a/web-ui/src/backup_account/page.js
+++ b/web-ui/src/backup_account/page.js
@@ -48,7 +48,7 @@ export class Page extends React.Component {
if (this.state.status === 'error') {
return <SnackbarNotification message={t('backup-account.error.submit-error')} isError />;
}
- return undefined;
+ return undefined; // To satisfy eslint error - consistent-return
};
render() {