summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2018-02-16 11:19:36 +0100
committerAndrej Mihajlov <and@mullvad.net>2018-02-16 11:19:36 +0100
commit5f15a7bec3e2a50162e54488c5a3f519b9553586 (patch)
tree9d61e6b951139dfb061c1898b7eb0aab4c5e3e73 /test
parentc6d4b3a2370fa6feeaaf33f0425127753e93039e (diff)
parent89eeb129f065d92a82393db2deca58c0c0f2ff38 (diff)
downloadmullvadvpn-5f15a7bec3e2a50162e54488c5a3f519b9553586.tar.xz
mullvadvpn-5f15a7bec3e2a50162e54488c5a3f519b9553586.zip
Merge branch 'buttons'
Diffstat (limited to 'test')
-rw-r--r--test/components/Account.spec.js42
-rw-r--r--test/components/Settings.spec.js6
2 files changed, 29 insertions, 19 deletions
diff --git a/test/components/Account.spec.js b/test/components/Account.spec.js
index a8b8e3d501..ccdb1d2117 100644
--- a/test/components/Account.spec.js
+++ b/test/components/Account.spec.js
@@ -2,7 +2,8 @@
import { expect } from 'chai';
import React from 'react';
-import ReactTestUtils, { Simulate } from 'react-dom/test-utils';
+import { shallow } from 'enzyme';
+require('../setup/enzyme');
import Account from '../../app/components/Account';
import type { AccountReduxState } from '../../app/redux/account/reducers';
@@ -27,34 +28,28 @@ describe('components/Account', () => {
return Object.assign({}, defaultProps, mergeProps);
};
- const render = (props: AccountProps): Account => {
- return ReactTestUtils.renderIntoDocument(
- <Account { ...props } />
- );
- };
-
it('should call close callback', (done) => {
const props = makeProps(state, {
onClose: () => done()
});
- const domNode = ReactTestUtils.findRenderedDOMComponentWithClass(render(props), 'account__close');
- Simulate.click(domNode);
+ const component = getComponent(render(props), 'account__close');
+ click(component);
});
it('should call logout callback', (done) => {
const props = makeProps(state, {
onLogout: () => done()
});
- const domNode = ReactTestUtils.findRenderedDOMComponentWithClass(render(props), 'account__logout');
- Simulate.click(domNode);
+ const component = getComponent(render(props), 'account__logout');
+ click(component);
});
it('should call "buy more" callback', (done) => {
const props = makeProps(state, {
onBuyMore: () => done()
});
- const domNode = ReactTestUtils.findRenderedDOMComponentWithClass(render(props), 'account__buymore');
- Simulate.click(domNode);
+ const component = getComponent(render(props), 'account__buymore');
+ click(component);
});
it('should display "out of time" message when account expired', () => {
@@ -66,13 +61,28 @@ describe('components/Account', () => {
error: null
};
const props = makeProps(expiredState, {});
- ReactTestUtils.findRenderedDOMComponentWithClass(render(props), 'account__out-of-time');
+ const component = getComponent(render(props), 'account__out_of_time');
+ expect(component).to.have.length(1);
});
it('should not display "out of time" message when account is active', () => {
const props = makeProps(state, {});
- const domNodes = ReactTestUtils.scryRenderedDOMComponentsWithClass(render(props), 'account__out-of-time');
- expect(domNodes.length).to.be.equal(0);
+ const component = getComponent(render(props), 'account__out_of_time');
+ expect(component).to.have.length(0);
});
});
+
+function render(props) {
+ return shallow(
+ <Account {...props} />
+ );
+}
+
+function getComponent(container, testName) {
+ return container.findWhere( n => n.prop('testName') === testName);
+}
+
+function click(component) {
+ component.prop('onPress')();
+}
diff --git a/test/components/Settings.spec.js b/test/components/Settings.spec.js
index fc6b73f17c..8f0e4a73d4 100644
--- a/test/components/Settings.spec.js
+++ b/test/components/Settings.spec.js
@@ -108,13 +108,13 @@ describe('components/Settings', () => {
it('should show out-of-time message for unpaid account', () => {
const props = makeProps(unpaidAccountState, settingsState);
- const component = getComponent(render(props), 'settings__account_paid_until_label');
+ const component = getComponent(render(props), 'settings__account_paid_until_subtext');
expect(component.children().text()).to.equal('OUT OF TIME');
});
it('should hide out-of-time message for paid account', () => {
const props = makeProps(loggedInAccountState, settingsState);
- const component = getComponent(render(props), 'settings__account_paid_until_label');
+ const component = getComponent(render(props), 'settings__account_paid_until_subtext');
expect(component.children().text()).not.to.equal('OUT OF TIME');
});
@@ -138,7 +138,7 @@ describe('components/Settings', () => {
const props = makeProps(loggedInAccountState, settingsState, {
onViewAccount: () => done()
});
- const component = getComponent(render(props), 'settings__view_account');
+ const component = getComponent(render(props), 'settings__account_paid_until_button');
click(component);
});