73 lines
2.1 KiB
Swift
73 lines
2.1 KiB
Swift
|
//
|
||
|
// OnboardingStoreTests.swift
|
||
|
// OnboardingStoreTests
|
||
|
//
|
||
|
// Created by Adam Stener on 10/10/21.
|
||
|
//
|
||
|
|
||
|
import XCTest
|
||
|
import ComposableArchitecture
|
||
|
@testable import secant_testnet
|
||
|
|
||
|
class OnboardingStoreTests: XCTestCase {
|
||
|
func testIncrementingOnboarding() {
|
||
|
let store = TestStore(
|
||
|
initialState: OnboardingState(steps: OnboardingState.steps),
|
||
|
reducer: onboardingReducer,
|
||
|
environment: ()
|
||
|
)
|
||
|
|
||
|
store.send(.nextPressed) {
|
||
|
$0.index += 1
|
||
|
$0.offset -= 20.0
|
||
|
|
||
|
XCTAssertFalse($0.nextButtonDisabled)
|
||
|
XCTAssertFalse($0.backButtonDisabled)
|
||
|
XCTAssertEqual($0.currentStep, OnboardingState.steps[1])
|
||
|
XCTAssertEqual($0.progress, 66)
|
||
|
}
|
||
|
|
||
|
store.send(.nextPressed) {
|
||
|
$0.index += 1
|
||
|
$0.offset -= 20.0
|
||
|
|
||
|
XCTAssertTrue($0.nextButtonDisabled)
|
||
|
XCTAssertFalse($0.backButtonDisabled)
|
||
|
XCTAssertEqual($0.currentStep, OnboardingState.steps[2])
|
||
|
XCTAssertEqual($0.progress, 100)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func testDecrementingOnboarding() {
|
||
|
let store = TestStore(
|
||
|
initialState: OnboardingState(
|
||
|
steps: OnboardingState.steps,
|
||
|
index: 2,
|
||
|
offset: .zero - 20.0 - 20.0
|
||
|
),
|
||
|
reducer: onboardingReducer,
|
||
|
environment: ()
|
||
|
)
|
||
|
|
||
|
store.send(.backPressed) {
|
||
|
$0.index -= 1
|
||
|
$0.offset += 20.0
|
||
|
|
||
|
XCTAssertFalse($0.nextButtonDisabled)
|
||
|
XCTAssertFalse($0.backButtonDisabled)
|
||
|
XCTAssertEqual($0.currentStep, OnboardingState.steps[1])
|
||
|
XCTAssertEqual($0.progress, 66)
|
||
|
}
|
||
|
|
||
|
store.send(.backPressed) {
|
||
|
$0.index -= 1
|
||
|
$0.offset += 20.0
|
||
|
|
||
|
XCTAssertFalse($0.nextButtonDisabled)
|
||
|
XCTAssertTrue($0.backButtonDisabled)
|
||
|
XCTAssertEqual($0.currentStep, OnboardingState.steps[0])
|
||
|
XCTAssertEqual($0.progress, 33)
|
||
|
}
|
||
|
}
|
||
|
}
|