func test_detachChild_deactivatesSubtreeOfTheChild()

in RIBsTests/Router/RouterTests.swift [151:168]


    func test_detachChild_deactivatesSubtreeOfTheChild() {
        // given
        router = Router(interactor: InteractableMock())
        let childInteractor = Interactor()
        let childRouter = Router(interactor: childInteractor)
        let grandChildInteractor = InteractableMock()
        let grandChildRouter = RouterMock(interactor: grandChildInteractor)
        router.load()
        router.attachChild(childRouter)
        childRouter.attachChild(grandChildRouter)
        grandChildInteractor.isActive = true
        
        // when
        router.detachChild(childRouter)
        
        // then
        XCTAssertEqual(grandChildInteractor.deactivateCallCount, 1)
    }