zashi-ios-wallet-private/secantTests/OnboardingTests/OnboardingStoreTests.swift

73 lines
2.1 KiB
Swift
Raw Normal View History

2021-10-12 04:25:34 -07:00
//
// 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)
}
}
}