Skip to content

Commit 414b612

Browse files
committed
Setup spy to observe changes
1 parent 3bf3fa9 commit 414b612

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

modules/__tests__/matchRoutes-test.js

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -291,11 +291,10 @@ describe('matchRoutes', function () {
291291
})
292292

293293
describe('an asynchronous JSX route config', function () {
294-
let getChildRoutes, getIndexRoute, jsxRoutes, jsxNestedRoutes, state
294+
let getChildRoutes, getIndexRoute, jsxRoutes, makeJsxNestedRoutes
295295

296296
beforeEach(function () {
297297
getChildRoutes = function (partialNextState, callback) {
298-
state = partialNextState
299298
setTimeout(function () {
300299
callback(null, <Route path=":userID" />)
301300
})
@@ -313,15 +312,19 @@ describe('matchRoutes', function () {
313312
getChildRoutes={getChildRoutes}
314313
getIndexRoute={getIndexRoute} />
315314
])
316-
317-
jsxNestedRoutes = createRoutes([
318-
<Route name="users"
319-
path="users/:id">
320-
<Route name="topic"
321-
path=":topic"
322-
getChildRoutes={getChildRoutes} />
323-
</Route>
324-
])
315+
316+
makeJsxNestedRoutes = () => {
317+
const spy = expect.spyOn({ getChildRoutes }, 'getChildRoutes').andCallThrough()
318+
const routes = createRoutes([
319+
<Route name="users"
320+
path="users/:id">
321+
<Route name="topic"
322+
path=":topic"
323+
getChildRoutes={spy} />
324+
</Route>
325+
])
326+
return { spy, routes }
327+
}
325328
})
326329

327330
it('when getChildRoutes callback returns reactElements', function (done) {
@@ -342,7 +345,9 @@ describe('matchRoutes', function () {
342345
})
343346

344347
it('when getChildRoutes callback returns partialNextState', function (done) {
345-
matchRoutes(jsxNestedRoutes, createLocation('/users/5/details/others'), function () {
348+
const jsxNestedRoutes = makeJsxNestedRoutes()
349+
matchRoutes(jsxNestedRoutes.routes, createLocation('/users/5/details/others'), function () {
350+
const state = jsxNestedRoutes.spy.calls[0].arguments[0]
346351
expect(state).toExist()
347352
expect(state.params).toEqual({ id: '5', topic: 'details' })
348353
done()

0 commit comments

Comments
 (0)