@@ -67,9 +67,24 @@ final class NotWPAccountViewModelTests: XCTestCase {
6767 XCTAssertEqual ( auxiliaryButtonTitle, AuthenticationConstants . whatIsWPComLinkTitle)
6868 }
6969
70- func test_viewmodel_provides_expected_title_for_primary_button ( ) {
70+ func test_viewmodel_provides_expected_title_for_primary_button_when_simplified_login_feature_flag_is_off ( ) {
7171 // Given
72- let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) )
72+ let featureFlagService = MockFeatureFlagService ( isSimplifiedLoginFlowI1Enabled: false )
73+ let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) ,
74+ featureFlagService: featureFlagService)
75+
76+ // When
77+ let primaryButtonTitle = viewModel. primaryButtonTitle
78+
79+ // Then
80+ XCTAssertEqual ( primaryButtonTitle, Expectations . loginWithSiteAddressTitle)
81+ }
82+
83+ func test_viewmodel_provides_expected_title_for_primary_button_when_simplified_login_feature_flag_is_on( ) {
84+ // Given
85+ let featureFlagService = MockFeatureFlagService ( isSimplifiedLoginFlowI1Enabled: true )
86+ let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) ,
87+ featureFlagService: featureFlagService)
7388 // When
7489 let primaryButtonTitle = viewModel. primaryButtonTitle
7590
@@ -90,9 +105,23 @@ final class NotWPAccountViewModelTests: XCTestCase {
90105 XCTAssertEqual ( primaryButtonTitle, Expectations . restartLoginTitle)
91106 }
92107
93- func test_primary_button_title_is_create_an_account_for_invalidWPComEmail_from_wpCom_error ( ) {
108+ func test_primary_button_title_is_login_with_site_address_for_invalidWPComEmail_from_wpCom_error_when_simplified_login_feature_flag_is_off ( ) {
94109 // Given
95- let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) )
110+ let featureFlagService = MockFeatureFlagService ( isSimplifiedLoginFlowI1Enabled: false )
111+ let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) ,
112+ featureFlagService: featureFlagService)
113+ // When
114+ let primaryButtonTitle = viewModel. primaryButtonTitle
115+
116+ // Then
117+ XCTAssertEqual ( primaryButtonTitle, Expectations . loginWithSiteAddressTitle)
118+ }
119+
120+ func test_primary_button_title_is_create_an_account_for_invalidWPComEmail_from_wpCom_error_when_simplified_login_feature_flag_is_on( ) {
121+ // Given
122+ let featureFlagService = MockFeatureFlagService ( isSimplifiedLoginFlowI1Enabled: true )
123+ let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) ,
124+ featureFlagService: featureFlagService)
96125 // When
97126 let primaryButtonTitle = viewModel. primaryButtonTitle
98127
@@ -110,18 +139,29 @@ final class NotWPAccountViewModelTests: XCTestCase {
110139 XCTAssertFalse ( viewModel. isPrimaryButtonHidden)
111140 }
112141
113- func test_primary_button_is_not_hidden_for_invalidWPComEmail_from_wpCom_error_when_store_creation_is_on ( ) {
142+ func test_primary_button_is_not_hidden_for_invalidWPComEmail_from_wpCom_error_when_simplified_login_feature_flag_is_off ( ) {
114143 // Given
115- let featureFlagService = MockFeatureFlagService ( isStoreCreationMVPEnabled : true )
144+ let featureFlagService = MockFeatureFlagService ( isSimplifiedLoginFlowI1Enabled : false )
116145 let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) ,
117146 featureFlagService: featureFlagService)
118147 // Then
119148 XCTAssertFalse ( viewModel. isPrimaryButtonHidden)
120149 }
121150
122- func test_primary_button_is_hidden_for_invalidWPComEmail_from_wpCom_error_when_store_creation_is_off ( ) {
151+ func test_primary_button_is_not_hidden_for_invalidWPComEmail_from_wpCom_error_when_simplified_login_is_on_and_store_creation_is_on ( ) {
123152 // Given
124- let featureFlagService = MockFeatureFlagService ( isStoreCreationMVPEnabled: false )
153+ let featureFlagService = MockFeatureFlagService ( isSimplifiedLoginFlowI1Enabled: true ,
154+ isStoreCreationMVPEnabled: true )
155+ let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) ,
156+ featureFlagService: featureFlagService)
157+ // Then
158+ XCTAssertFalse ( viewModel. isPrimaryButtonHidden)
159+ }
160+
161+ func test_primary_button_is_hidden_for_invalidWPComEmail_from_wpCom_error_when_simplified_login_is_on_and_store_creation_is_off( ) {
162+ // Given
163+ let featureFlagService = MockFeatureFlagService ( isSimplifiedLoginFlowI1Enabled: true ,
164+ isStoreCreationMVPEnabled: false )
125165 let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) ,
126166 featureFlagService: featureFlagService)
127167 // Then
@@ -148,9 +188,24 @@ final class NotWPAccountViewModelTests: XCTestCase {
148188
149189 // MARK: - `secondaryButtonTitle`
150190
151- func test_viewmodel_provides_expected_title_for_secondary_button ( ) {
191+ func test_viewmodel_provides_expected_title_for_secondary_button_when_simplified_login_feature_flag_is_off ( ) {
152192 // Given
153- let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) )
193+ let featureFlagService = MockFeatureFlagService ( isSimplifiedLoginFlowI1Enabled: false )
194+ let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) ,
195+ featureFlagService: featureFlagService)
196+
197+ // When
198+ let secondaryButtonTitle = viewModel. secondaryButtonTitle
199+
200+ // Then
201+ XCTAssertEqual ( secondaryButtonTitle, Expectations . restartLoginTitle)
202+ }
203+
204+ func test_viewmodel_provides_expected_title_for_secondary_button_when_simplified_login_feature_flag_is_on( ) {
205+ // Given
206+ let featureFlagService = MockFeatureFlagService ( isSimplifiedLoginFlowI1Enabled: true )
207+ let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) ,
208+ featureFlagService: featureFlagService)
154209 // When
155210 let secondaryButtonTitle = viewModel. secondaryButtonTitle
156211
@@ -177,8 +232,10 @@ final class NotWPAccountViewModelTests: XCTestCase {
177232
178233 func test_tapping_auxiliary_button_tracks_what__is_wordpress_com_event( ) {
179234 // Given
235+ let featureFlagService = MockFeatureFlagService ( isSimplifiedLoginFlowI1Enabled: true )
180236 let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) ,
181- analytics: analytics)
237+ analytics: analytics,
238+ featureFlagService: featureFlagService)
182239
183240 // When
184241 viewModel. didTapAuxiliaryButton ( in: nil )
@@ -187,10 +244,26 @@ final class NotWPAccountViewModelTests: XCTestCase {
187244 XCTAssertNotNil ( analyticsProvider. receivedEvents. first ( where: { $0 == " what_is_wordpress_com_on_invalid_email_screen " } ) )
188245 }
189246
190- func test_tapping_primary_button_tracks_create_account_event ( ) {
247+ func test_tapping_primary_button_does_not_track_create_account_event_when_simplified_login_feature_flag_is_off ( ) {
191248 // Given
249+ let featureFlagService = MockFeatureFlagService ( isSimplifiedLoginFlowI1Enabled: false )
192250 let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) ,
193- analytics: analytics)
251+ analytics: analytics,
252+ featureFlagService: featureFlagService)
253+
254+ // When
255+ viewModel. didTapPrimaryButton ( in: nil )
256+
257+ // Then
258+ XCTAssertNil ( analyticsProvider. receivedEvents. first ( where: { $0 == " create_account_on_invalid_email_screen " } ) )
259+ }
260+
261+ func test_tapping_primary_button_tracks_create_account_event_when_simplified_login_feature_flag_is_on( ) {
262+ // Given
263+ let featureFlagService = MockFeatureFlagService ( isSimplifiedLoginFlowI1Enabled: true )
264+ let viewModel = NotWPAccountViewModel ( error: SignInError . invalidWPComEmail ( source: . wpCom) ,
265+ analytics: analytics,
266+ featureFlagService: featureFlagService)
194267
195268 // When
196269 viewModel. didTapPrimaryButton ( in: nil )
0 commit comments