Skip to content

Instantly share code, notes, and snippets.

View dougritter's full-sized avatar

Douglas Ritter dougritter

View GitHub Profile
class AccountPresenterTests: XCTestCase {
func test_given_and_account_name_when_next_is_pressed_then_should_navigate_to_home() {
...
XCTAssertEqual(routerMock.showHomeCalled, true)
}
}
class AccountPresenterTests: XCTestCase {
func test_given_and_account_name_when_next_is_pressed_then_should_navigate_to_home() {
...
presenter.nextPressed(accountName: "talkdesk")
...
}
}
class AccountPresenterTests: XCTestCase {
func test_given_and_account_name_when_next_is_pressed_then_should_navigate_to_home() {
let routerMock = RouterMock()
let presenter = AccountPresenterImplementation(router: routerMock)
...
}
}
@dougritter
dougritter / AccountPresenterTests.swift
Last active September 11, 2019 17:22
AccountPresenter tests with router.
class AccountPresenterTests: XCTestCase {
func test_given_and_account_name_when_next_is_pressed_then_should_navigate_to_home() {
let routerMock = RouterMock()
let presenter = AccountPresenterImplementation(router: routerMock)
presenter.nextPressed(accountName: "talkdesk")
XCTAssertEqual(routerMock.showHomeCalled, true)
}
}
@dougritter
dougritter / RouterMock.swift
Last active September 11, 2019 17:21
Router Mock implementation
protocol Router {
func showHomeScreen()
}
class RouterMock: Router {
var showHomeWasCalled: Bool?
func showHomeScreen() {
showHomeWasCalled = true
}
@dougritter
dougritter / AccountPresenterImplementation.swift
Created September 5, 2019 22:43
AccountPresenter with router
class AccountPresenterImplementation: AccountPresenter {
private let router: Router
init(router: Router) {
self.router = router
}
func nextPressed(accountName: String) {
}
}
class AccountPresenterTests: XCTestCase {
func test_given_and_account_name_when_next_is_pressed_then_should_navigate_to_home() {
let presenter = AccountPresenterImplementation()
presenter.nextPressed(accountName: "talkdesk")
XCTAssertEqual(/* navigated to home */, true)
}
}
@dougritter
dougritter / AccountPresenterImplementation.swift
Last active September 5, 2019 22:41
Empty implementation of the AccountPresenter
class AccountPresenterImplementation: AccountPresenter {
func nextPressed(accountName: String) {
}
}
class AccountPresenterImplementation: AccountPresenterImplementation {
func nextPressed(accountName: String) {
}
}
protocol AccountPresenter {
func nextPressed(accountName: String)
}