Skip to content

Commit a3d4e10

Browse files
committed
Hit a wall with mounting the component for testing: enzymejs/enzyme#1436
Looks like it can be done...but I'll end the rabbit hole here.
1 parent e12b589 commit a3d4e10

File tree

3 files changed

+448
-37
lines changed

3 files changed

+448
-37
lines changed

__tests__/CreateReservation.tsx

+21-12
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,18 @@
33
* @lint-ignore-every XPLATJSCOPYRIGHT1
44
*/
55

6+
import { configure, mount, shallow } from "enzyme"
7+
import Adapter from "enzyme-adapter-react-16"
8+
import React from "react"
9+
import "react-native"
610
import CreateReservation from "../src/reservations/screens/CreateReservation"
711

12+
describe("showing the date picker", () => {
13+
it("renders", () => {
14+
shallow(<CreateReservation />)
15+
})
16+
})
17+
818
describe("createReservation", () => {
919
let createScreen: CreateReservation
1020
beforeEach(() => {
@@ -75,25 +85,24 @@ describe("createReservation", () => {
7585
})
7686

7787
describe("showing the date picker", () => {
78-
let createScreen: CreateReservation
79-
beforeEach(() => {
80-
createScreen = new CreateReservation({})
81-
})
88+
configure({ adapter: new Adapter() })
8289

83-
it("toggles the date picker flag", () => {
84-
createScreen.state = {
85-
clientName: "",
90+
let createScreen = mount<CreateReservation>(<CreateReservation />)
91+
92+
it("toggles the date picker flag", done => {
93+
createScreen.setState(() => ({
94+
clientName: "Paris",
8695
hotelName: "Hilton Hi",
8796
arrivalDate: new Date(),
8897
departureDate: new Date(),
8998
isDateTimePickerVisible: false,
9099
focusedDate: "arrival",
91100
errors: [3],
92-
}
101+
}))
93102

94-
createScreen._showDateTimePicker("departure")
95-
expect(createScreen.state.isDateTimePickerVisible).toBeTruthy()
96-
expect(createScreen.state.focusedDate).toEqual("departure")
97-
expect(createScreen.state.errors).toHaveLength(0)
103+
createScreen.instance()._showDateTimePicker("departure")
104+
expect(createScreen.state().isDateTimePickerVisible).toBeTruthy()
105+
expect(createScreen.state().focusedDate).toEqual("departure")
106+
expect(createScreen.state().errors).toHaveLength(0)
98107
})
99108
})

0 commit comments

Comments
 (0)