Closes #595
This commit is contained in:
parent
082e058055
commit
6c77e0901b
|
@ -304,6 +304,7 @@
|
|||
2EDA07A027EDE18C00D6F09B /* TCATextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EDA079F27EDE18C00D6F09B /* TCATextField.swift */; };
|
||||
2EDA07A227EDE1AE00D6F09B /* TextFieldFooter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EDA07A127EDE1AE00D6F09B /* TextFieldFooter.swift */; };
|
||||
2EDA07A427EDE2A900D6F09B /* DebugFrame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EDA07A327EDE2A900D6F09B /* DebugFrame.swift */; };
|
||||
341B30BB29B78D1000697081 /* HomeFeatureFlagTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 341B30BA29B78D1000697081 /* HomeFeatureFlagTests.swift */; };
|
||||
34429C6E28E703CD00F2B929 /* TransactionSendingSnapshotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34429C6D28E703CD00F2B929 /* TransactionSendingSnapshotTests.swift */; };
|
||||
3448CB3228E47666006ADEDB /* NotEnoughFreeSpaceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3448CB3128E47666006ADEDB /* NotEnoughFreeSpaceView.swift */; };
|
||||
3448CB3728E485CB006ADEDB /* NotEnoughFeeSpaceSnapshots.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3448CB3628E485CB006ADEDB /* NotEnoughFeeSpaceSnapshots.swift */; };
|
||||
|
@ -639,6 +640,7 @@
|
|||
2EDA079F27EDE18C00D6F09B /* TCATextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TCATextField.swift; sourceTree = "<group>"; };
|
||||
2EDA07A127EDE1AE00D6F09B /* TextFieldFooter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldFooter.swift; sourceTree = "<group>"; };
|
||||
2EDA07A327EDE2A900D6F09B /* DebugFrame.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebugFrame.swift; sourceTree = "<group>"; };
|
||||
341B30BA29B78D1000697081 /* HomeFeatureFlagTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeFeatureFlagTests.swift; sourceTree = "<group>"; };
|
||||
34429C6D28E703CD00F2B929 /* TransactionSendingSnapshotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TransactionSendingSnapshotTests.swift; sourceTree = "<group>"; };
|
||||
3448CB3128E47666006ADEDB /* NotEnoughFreeSpaceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotEnoughFreeSpaceView.swift; sourceTree = "<group>"; };
|
||||
3448CB3628E485CB006ADEDB /* NotEnoughFeeSpaceSnapshots.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotEnoughFeeSpaceSnapshots.swift; sourceTree = "<group>"; };
|
||||
|
@ -1413,6 +1415,7 @@
|
|||
isa = PBXGroup;
|
||||
children = (
|
||||
9E3911382848AD500073DD9A /* HomeTests.swift */,
|
||||
341B30BA29B78D1000697081 /* HomeFeatureFlagTests.swift */,
|
||||
);
|
||||
path = HomeTests;
|
||||
sourceTree = "<group>";
|
||||
|
@ -2990,6 +2993,7 @@
|
|||
9E7225F12889539300DF7F17 /* SettingsSnapshotTests.swift in Sources */,
|
||||
3469F18229ACD70500A07146 /* OnboardingFlowFeatureFlagTests.swift in Sources */,
|
||||
0DFE93DF272C6D4B000FCCA5 /* RecoveryPhraseBackupTests.swift in Sources */,
|
||||
341B30BB29B78D1000697081 /* HomeFeatureFlagTests.swift in Sources */,
|
||||
9EDDEAA22829610D00B4100C /* CurrencySelectionTests.swift in Sources */,
|
||||
9E6713F12897F81B00A6796F /* MultiLineTextFieldTests.swift in Sources */,
|
||||
9E01F8282833CDA0000EFC57 /* ScanTests.swift in Sources */,
|
||||
|
|
|
@ -31,6 +31,7 @@ struct HomeReducer: ReducerProtocol {
|
|||
var settingsState: SettingsReducer.State
|
||||
var shieldedBalance: Balance
|
||||
var synchronizerStatusSnapshot: SyncStatusSnapshot
|
||||
var walletConfig: WalletConfig
|
||||
var walletEventsState: WalletEventsFlowReducer.State
|
||||
// TODO: [#311] - Get the ZEC price from the SDK, https://github.com/zcash/secant-ios-wallet/issues/311
|
||||
var zecPrice = Decimal(140.0)
|
||||
|
@ -238,6 +239,7 @@ extension HomeReducer.State {
|
|||
settingsState: .placeholder,
|
||||
shieldedBalance: Balance.zero,
|
||||
synchronizerStatusSnapshot: .default,
|
||||
walletConfig: .default,
|
||||
walletEventsState: .emptyPlaceHolder
|
||||
)
|
||||
}
|
||||
|
|
|
@ -106,6 +106,11 @@ extension HomeView {
|
|||
viewStore.send(.debugMenuStartup)
|
||||
}
|
||||
}
|
||||
|
||||
if viewStore.walletConfig.isEnabled(.showFiatConversion) {
|
||||
Text("$\(viewStore.totalCurrencyBalance.decimalString())")
|
||||
.font(.system(size: 20))
|
||||
}
|
||||
|
||||
Text("\(viewStore.synchronizerStatusSnapshot.message)")
|
||||
}
|
||||
|
|
|
@ -312,6 +312,7 @@ extension RootReducer {
|
|||
case .updateStateAfterConfigUpdate(let walletConfig):
|
||||
state.walletConfig = walletConfig
|
||||
state.onboardingState.walletConfig = walletConfig
|
||||
state.homeState.walletConfig = walletConfig
|
||||
return .none
|
||||
|
||||
case .dismissAlert:
|
||||
|
|
|
@ -11,12 +11,14 @@ enum FeatureFlag: String, CaseIterable, Codable {
|
|||
case testFlag2
|
||||
case onboardingFlow
|
||||
case testBackupPhraseFlow
|
||||
case showFiatConversion
|
||||
|
||||
var enabledByDefault: Bool {
|
||||
switch self {
|
||||
case .testFlag1, .testFlag2: return false
|
||||
case .onboardingFlow: return false
|
||||
case .testBackupPhraseFlow: return false
|
||||
case .showFiatConversion: return false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
//
|
||||
// OnboardingFlowFeatureFlagTests.swift
|
||||
// secantTests
|
||||
//
|
||||
// Created by Lukáš Korba on 23.02.2023.
|
||||
//
|
||||
|
||||
import XCTest
|
||||
@testable import secant_testnet
|
||||
|
||||
class HomeFeatureFlagTests: XCTestCase {
|
||||
override func setUp() {
|
||||
super.setUp()
|
||||
|
||||
UserDefaultsWalletConfigStorage().clearAll()
|
||||
}
|
||||
|
||||
func testShowFiatConversionOffByDefault() throws {
|
||||
XCTAssertFalse(WalletConfig.default.isEnabled(.showFiatConversion))
|
||||
}
|
||||
}
|
|
@ -44,6 +44,7 @@ class HomeSnapshotTests: XCTestCase {
|
|||
settingsState: .placeholder,
|
||||
shieldedBalance: balance.redacted,
|
||||
synchronizerStatusSnapshot: .default,
|
||||
walletConfig: .default,
|
||||
walletEventsState: .init(walletEvents: IdentifiedArrayOf(uniqueElements: walletEvents))
|
||||
),
|
||||
reducer: HomeReducer()
|
||||
|
|
|
@ -59,6 +59,7 @@ class WalletEventsSnapshotTests: XCTestCase {
|
|||
settingsState: .placeholder,
|
||||
shieldedBalance: balance.redacted,
|
||||
synchronizerStatusSnapshot: .default,
|
||||
walletConfig: .default,
|
||||
walletEventsState: .init(walletEvents: IdentifiedArrayOf(uniqueElements: [walletEvent]))
|
||||
),
|
||||
reducer: HomeReducer()
|
||||
|
@ -111,6 +112,7 @@ class WalletEventsSnapshotTests: XCTestCase {
|
|||
settingsState: .placeholder,
|
||||
shieldedBalance: balance.redacted,
|
||||
synchronizerStatusSnapshot: .default,
|
||||
walletConfig: .default,
|
||||
walletEventsState: .init(walletEvents: IdentifiedArrayOf(uniqueElements: [walletEvent]))
|
||||
),
|
||||
reducer: HomeReducer()
|
||||
|
@ -163,6 +165,7 @@ class WalletEventsSnapshotTests: XCTestCase {
|
|||
settingsState: .placeholder,
|
||||
shieldedBalance: balance.redacted,
|
||||
synchronizerStatusSnapshot: .default,
|
||||
walletConfig: .default,
|
||||
walletEventsState: .init(walletEvents: IdentifiedArrayOf(uniqueElements: [walletEvent]))
|
||||
),
|
||||
reducer: HomeReducer()
|
||||
|
@ -221,6 +224,7 @@ class WalletEventsSnapshotTests: XCTestCase {
|
|||
settingsState: .placeholder,
|
||||
shieldedBalance: balance.redacted,
|
||||
synchronizerStatusSnapshot: .default,
|
||||
walletConfig: .default,
|
||||
walletEventsState: .init(walletEvents: IdentifiedArrayOf(uniqueElements: [walletEvent]))
|
||||
),
|
||||
reducer: HomeReducer()
|
||||
|
|
|
@ -133,6 +133,7 @@ class WalletConfigProviderTests: XCTestCase {
|
|||
store.receive(.updateStateAfterConfigUpdate(flags)) { state in
|
||||
state.walletConfig = flags
|
||||
state.onboardingState.walletConfig = flags
|
||||
state.homeState.walletConfig = flags
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue