Snapshot tests

This commit is contained in:
Federico Kereki
2018-09-16 12:44:39 -03:00
parent e02105aba5
commit 22b5414686
6 changed files with 194 additions and 201 deletions
+2 -142
View File
@@ -3627,12 +3627,6 @@
"cssom": "0.3.x"
}
},
"cubic-bezier": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/cubic-bezier/-/cubic-bezier-0.1.2.tgz",
"integrity": "sha1-1JcJQgAuRTcuCqkttlfjnq9oJNc=",
"dev": true
},
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@@ -5998,13 +5992,11 @@
},
"balanced-match": {
"version": "1.0.0",
"bundled": true,
"optional": true
"bundled": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -6022,8 +6014,7 @@
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
"optional": true
"bundled": true
},
"console-control-strings": {
"version": "1.1.0",
@@ -6155,7 +6146,6 @@
"minimatch": {
"version": "3.0.4",
"bundled": true,
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -8489,12 +8479,6 @@
"safe-buffer": "^5.0.1"
}
},
"keymirror": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/keymirror/-/keymirror-0.1.1.tgz",
"integrity": "sha1-kYiJ6hP40KQufFVyUO7nE63JXDU=",
"dev": true
},
"kind-of": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
@@ -10435,53 +10419,12 @@
"schedule": "^0.4.0"
}
},
"react-addons-create-fragment": {
"version": "15.6.2",
"resolved": "https://registry.npmjs.org/react-addons-create-fragment/-/react-addons-create-fragment-15.6.2.tgz",
"integrity": "sha1-o5TefCx77Na1R1uhuXrEcs58dPg=",
"dev": true,
"requires": {
"fbjs": "^0.8.4",
"loose-envify": "^1.3.1",
"object-assign": "^4.1.0"
}
},
"react-addons-perf": {
"version": "15.4.2",
"resolved": "https://registry.npmjs.org/react-addons-perf/-/react-addons-perf-15.4.2.tgz",
"integrity": "sha1-EQvc9cRZxPd8uF7WNLzTOXU2ODs=",
"dev": true,
"requires": {
"fbjs": "^0.8.4",
"object-assign": "^4.1.0"
}
},
"react-addons-pure-render-mixin": {
"version": "15.6.2",
"resolved": "https://registry.npmjs.org/react-addons-pure-render-mixin/-/react-addons-pure-render-mixin-15.6.2.tgz",
"integrity": "sha1-a4P0C2s27kBzXL1hJes/E84c3ck=",
"dev": true,
"requires": {
"fbjs": "^0.8.4",
"object-assign": "^4.1.0"
}
},
"react-addons-test-utils": {
"version": "15.6.2",
"resolved": "https://registry.npmjs.org/react-addons-test-utils/-/react-addons-test-utils-15.6.2.tgz",
"integrity": "sha1-wStu/cIkfBDae4dw0YUICnsEcVY=",
"dev": true
},
"react-addons-update": {
"version": "15.6.2",
"resolved": "https://registry.npmjs.org/react-addons-update/-/react-addons-update-15.6.2.tgz",
"integrity": "sha1-5TdTxbNIh5dFEMiC1/sHWFHV5QQ=",
"dev": true,
"requires": {
"fbjs": "^0.8.9",
"object-assign": "^4.1.0"
}
},
"react-clone-referenced-element": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/react-clone-referenced-element/-/react-clone-referenced-element-1.1.0.tgz",
@@ -10911,89 +10854,6 @@
}
}
},
"react-native-mock": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/react-native-mock/-/react-native-mock-0.3.1.tgz",
"integrity": "sha1-E9IkM8U1Gop/uK7deGK2FNCHhRw=",
"dev": true,
"requires": {
"cubic-bezier": "^0.1.2",
"invariant": "^2.2.1",
"keymirror": "^0.1.1",
"raf": "^3.2.0",
"react-addons-create-fragment": "^15.4.0",
"react-addons-perf": "^15.4.0",
"react-addons-pure-render-mixin": "^15.4.0",
"react-addons-test-utils": "^15.4.0",
"react-addons-update": "^15.4.0",
"react-dom": "^15.4.0",
"react-timer-mixin": "^0.13.3",
"warning": "^2.1.0"
},
"dependencies": {
"react-dom": {
"version": "15.6.2",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.2.tgz",
"integrity": "sha1-Qc+t9pO3V/rycIRDodH9WgK+9zA=",
"dev": true,
"requires": {
"fbjs": "^0.8.9",
"loose-envify": "^1.1.0",
"object-assign": "^4.1.0",
"prop-types": "^15.5.10"
}
},
"warning": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/warning/-/warning-2.1.0.tgz",
"integrity": "sha1-ISINnGOvx3qMkhEeARr3Bc4MaQE=",
"dev": true,
"requires": {
"loose-envify": "^1.0.0"
}
}
}
},
"react-native-mock-render": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/react-native-mock-render/-/react-native-mock-render-0.1.2.tgz",
"integrity": "sha512-cSNatPLOHyGLWRSlGfu6S50Oj3oM+dIGjgu3l4H+hn0gaX0ElJosdr+qfoAJLqgo9q8kxBnKUbc8iVWaWtO6ag==",
"dev": true,
"requires": {
"create-react-class": "^15.6.2",
"cubic-bezier": "^0.1.2",
"invariant": "^2.2.1",
"keymirror": "^0.1.1",
"lodash": "^4.15.0",
"prop-types": "^15.6.0",
"raf": "^3.2.0",
"react-dom": "^16.0.0",
"react-timer-mixin": "^0.13.3",
"warning": "^2.1.0"
},
"dependencies": {
"create-react-class": {
"version": "15.6.3",
"resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz",
"integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==",
"dev": true,
"requires": {
"fbjs": "^0.8.9",
"loose-envify": "^1.3.1",
"object-assign": "^4.1.1"
}
},
"warning": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/warning/-/warning-2.1.0.tgz",
"integrity": "sha1-ISINnGOvx3qMkhEeARr3Bc4MaQE=",
"dev": true,
"requires": {
"loose-envify": "^1.0.0"
}
}
}
},
"react-native-safe-area-view": {
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.10.0.tgz",
@@ -0,0 +1,117 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Main component renders in landscape mode 1`] = `
<View
style={
Object {
"flex": 1,
}
}
>
<View
hidden={true}
onLayout={[Function]}
/>
<View
style={
Object {
"flex": 1,
"flexDirection": "row",
}
}
>
<View
style={
Object {
"flex": 1,
"flexDirection": "column",
"justifyContent": "center",
}
}
>
<View>
<Text
accessible={true}
allowFontScaling={true}
ellipsizeMode="tail"
>
Loading countries...
</Text>
</View>
</View>
<View
style={
Object {
"flex": 1,
}
}
>
<View
style={undefined}
>
<Text
accessible={true}
allowFontScaling={true}
ellipsizeMode="tail"
>
No regions.
</Text>
</View>
</View>
</View>
</View>
`;
exports[`Main component renders in portrait mode 1`] = `
<View
style={
Object {
"flex": 1,
}
}
>
<View
hidden={true}
onLayout={[Function]}
/>
<View
style={
Object {
"flex": 1,
"flexDirection": "column",
}
}
>
<View>
<View>
<Text
accessible={true}
allowFontScaling={true}
ellipsizeMode="tail"
>
Loading countries...
</Text>
</View>
</View>
<View
style={
Object {
"flex": 1,
}
}
>
<View
style={undefined}
>
<Text
accessible={true}
allowFontScaling={true}
ellipsizeMode="tail"
>
No regions.
</Text>
</View>
</View>
</View>
</View>
`;
@@ -5,18 +5,20 @@ import TestRenderer from "react-test-renderer";
import { CountrySelect } from "./countrySelect.component";
const fakeDeviceData = {
isTablet: false,
isPortrait: true,
height: 1000,
width: 720,
scale: 1,
fontScale: 1
};
describe("CountrySelect", () => {
it("renders correctly when loading, with no countries", () => {
const tree = TestRenderer.create(
<CountrySelect
deviceData={{
isTablet: false,
isPortrait: true,
height: 1000,
width: 720,
scale: 1,
fontScale: 1
}}
deviceData={fakeDeviceData}
loading={true}
currentCountry={""}
onSelect={() => null}
@@ -30,14 +32,7 @@ describe("CountrySelect", () => {
it("renders correctly a countries dropdown", () => {
const tree = TestRenderer.create(
<CountrySelect
deviceData={{
isTablet: false,
isPortrait: true,
height: 1000,
width: 720,
scale: 1,
fontScale: 1
}}
deviceData={fakeDeviceData}
currentCountry={""}
loading={false}
onSelect={() => null}
@@ -22,6 +22,15 @@ const threeCountries = [
}
];
const fakeDeviceData = {
isTablet: false,
isPortrait: true,
height: 1000,
width: 720,
scale: 1,
fontScale: 1
}
describe("CountrySelect", () => {
it("renders correctly when loading, with no countries", () => {
const mockGetCountries = jest.fn();
@@ -29,14 +38,7 @@ describe("CountrySelect", () => {
const wrapper = Enzyme.shallow(
<CountrySelect
deviceData={{
isTablet: false,
isPortrait: true,
height: 1000,
width: 720,
scale: 1,
fontScale: 1
}}
deviceData={fakeDeviceData}
loading={true}
currentCountry={""}
onSelect={mockOnSelect}
@@ -55,14 +57,7 @@ describe("CountrySelect", () => {
const wrapper = Enzyme.shallow(
<CountrySelect
deviceData={{
isTablet: false,
isPortrait: true,
height: 1000,
width: 720,
scale: 1,
fontScale: 1
}}
deviceData={fakeDeviceData}
currentCountry={""}
loading={false}
onSelect={mockOnSelect}
@@ -84,14 +79,7 @@ describe("CountrySelect", () => {
const wrapper = Enzyme.shallow(
<CountrySelect
deviceData={{
isTablet: false,
isPortrait: true,
height: 1000,
width: 720,
scale: 1,
fontScale: 1
}}
deviceData={fakeDeviceData}
loading={false}
currentCountry={""}
onSelect={mockOnSelect}
@@ -0,0 +1,41 @@
/* @flow */
import React from "react";
import { Provider } from "react-redux";
import TestRenderer from "react-test-renderer";
import { Main } from "./main.component";
import { store } from "./store";
const fakeDeviceData = {
isTablet: false,
isPortrait: true,
height: 1000,
width: 720,
scale: 1,
fontScale: 1
};
describe("Main component", () => {
it("renders in portrait mode", () => {
const tree = TestRenderer.create(
<Provider store={store}>
<Main
deviceData={{ ...fakeDeviceData, isPortrait: true }}
/>
</Provider>
).toJSON();
expect(tree).toMatchSnapshot();
});
it("renders in landscape mode", () => {
const tree = TestRenderer.create(
<Provider store={store}>
<Main
deviceData={{ ...fakeDeviceData, isPortrait: false }}
/>
</Provider>
).toJSON();
expect(tree).toMatchSnapshot();
});
});
@@ -5,20 +5,19 @@ import TestRenderer from "react-test-renderer";
import { RegionsTable } from "./regionsTable.component";
const fakeDeviceData = {
isTablet: false,
isPortrait: true,
height: 1000,
width: 720,
scale: 1,
fontScale: 1
};
describe("RegionsTable", () => {
it("renders correctly an empty list", () => {
const tree = TestRenderer.create(
<RegionsTable
deviceData={{
isTablet: false,
isPortrait: true,
height: 1000,
width: 720,
scale: 1,
fontScale: 1
}}
list={[]}
/>
<RegionsTable deviceData={fakeDeviceData} list={[]} />
).toJSON();
expect(tree).toMatchSnapshot();
});
@@ -26,14 +25,7 @@ describe("RegionsTable", () => {
it("renders correctly a list", () => {
const tree = TestRenderer.create(
<RegionsTable
deviceData={{
isTablet: false,
isPortrait: true,
height: 1000,
width: 720,
scale: 1,
fontScale: 1
}}
deviceData={fakeDeviceData}
list={[
{
countryCode: "UY",