Skip to content

Commit 1d80302

Browse files
Merge pull request #7573 from woocommerce/feat/7547-enter-wpcom-email-help-page
Custom help content for "Enter WordPress.com email" screen
2 parents 710eade + 17851a2 commit 1d80302

File tree

6 files changed

+44
-11
lines changed

6 files changed

+44
-11
lines changed

Podfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ target 'WooCommerce' do
4242
pod 'Gridicons', '~> 1.2.0'
4343

4444
# To allow pod to pick up beta versions use -beta. E.g., 1.1.7-beta.1
45-
pod 'WordPressAuthenticator', '~> 2.4.0-beta.1'
45+
pod 'WordPressAuthenticator', '~> 2.4.0-beta.2'
4646
# pod 'WordPressAuthenticator', :git => 'https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git', :commit => ''
4747
# pod 'WordPressAuthenticator', :git => 'https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git', :branch => ''
4848
# pod 'WordPressAuthenticator', :path => '../WordPressAuthenticator-iOS'

Podfile.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ PODS:
4242
- WordPress-Aztec-iOS (1.11.0)
4343
- WordPress-Editor-iOS (1.11.0):
4444
- WordPress-Aztec-iOS (= 1.11.0)
45-
- WordPressAuthenticator (2.4.0-beta.1):
45+
- WordPressAuthenticator (2.4.0-beta.2):
4646
- Alamofire (~> 4.8)
4747
- CocoaLumberjack (~> 3.5)
4848
- GoogleSignIn (~> 6.0.1)
@@ -92,7 +92,7 @@ DEPENDENCIES:
9292
- Sourcery (~> 1.0.3)
9393
- StripeTerminal (~> 2.7)
9494
- WordPress-Editor-iOS (~> 1.11.0)
95-
- WordPressAuthenticator (~> 2.4.0-beta.1)
95+
- WordPressAuthenticator (~> 2.4.0-beta.2)
9696
- WordPressKit (~> 4.49.0)
9797
- WordPressShared (~> 1.15)
9898
- WordPressUI (~> 1.12.5)
@@ -163,7 +163,7 @@ SPEC CHECKSUMS:
163163
UIDeviceIdentifier: af4e11e25a2ea670078e2bd677bb0e8144f9f063
164164
WordPress-Aztec-iOS: 050b34d4c3adfb7c60363849049b13d60683b348
165165
WordPress-Editor-iOS: 304098424f1051cb271546c99f906aac296b1b81
166-
WordPressAuthenticator: 2f32568a4af71b5b464f65706ac64040e2e7775b
166+
WordPressAuthenticator: 7ce9bd63949c9684a07ff547f80fd40bbdd9d8b4
167167
WordPressKit: 96deb6ba37ea5eaec4ddcaa53eca04d653246152
168168
WordPressShared: 5477f179c7fe03b5d574f91adda66f67d131827e
169169
WordPressUI: c5be816f6c7b3392224ac21de9e521e89fa108ac
@@ -179,6 +179,6 @@ SPEC CHECKSUMS:
179179
ZendeskSupportProvidersSDK: 2bdf8544f7cd0fd4c002546f5704b813845beb2a
180180
ZendeskSupportSDK: 3a8e508ab1d9dd22dc038df6c694466414e037ba
181181

182-
PODFILE CHECKSUM: 87786ee269bb59fb815d859df9cbe54bb00dac3d
182+
PODFILE CHECKSUM: 9f2faf915539665343e6d18bbab3710def723697
183183

184184
COCOAPODS: 1.11.2

RELEASE-NOTES.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
10.1
44
-----
55
- [*] In-Person Payments: The onboarding notice on the In-Person Payments menu is correctly dismissed after multiple prompts are shown. [https://github.com/woocommerce/woocommerce-ios/pull/7543]
6-
- [*] Help center: Added custom help center web page with FAQs for "Enter Store Address" screen. [https://github.com/woocommerce/woocommerce-ios/pull/7553]
6+
- [*] Help center: Added custom help center web page with FAQs for "Enter Store Address" and "Enter WordPress.com email" screens. [https://github.com/woocommerce/woocommerce-ios/pull/7553, https://github.com/woocommerce/woocommerce-ios/pull/7573]
77
- [*] In-Person Payments: The plugin selection is saved correctly after multiple onboarding prompts. [https://github.com/woocommerce/woocommerce-ios/pull/7544]
88
- [*] In-Person Payments: A new prompt to enable `Pay in Person` for your store's checkout, to accept In-Person Payments for website orders [https://github.com/woocommerce/woocommerce-ios/issues/7474]
99

WooCommerce/Classes/Model/CustomHelpCenterContent.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ extension CustomHelpCenterContent {
2727
///
2828
init?(step: AuthenticatorAnalyticsTracker.Step, flow: AuthenticatorAnalyticsTracker.Flow) {
2929
switch step {
30-
case .start where flow == .loginWithSiteAddress:
30+
case .start where flow == .loginWithSiteAddress: // Enter Store Address screen
3131
url = WooConstants.URLs.helpCenterForEnterStoreAddress.asURL()
32+
case .enterEmailAddress where flow == .loginWithSiteAddress: // Enter WordPress.com email screen from store address flow
33+
url = WooConstants.URLs.helpCenterForWPCOMEmailFromSiteAddressFlow.asURL()
3234
default:
3335
return nil
3436
}

WooCommerce/Classes/System/WooConstants.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@ extension WooConstants {
8181
///
8282
case helpCenterForEnterStoreAddress = "https://woocommerce.com/document/android-ios-apps-login-help-faq/#enter-store-address"
8383

84+
/// Help Center for "Enter WordPress.com email" screen
85+
///
86+
// swiftlint:disable:next line_length
87+
case helpCenterForWPCOMEmailFromSiteAddressFlow = "https://woocommerce.com/document/android-ios-apps-login-help-faq/#enter-wordpress-com-email-address-login-using-store-address-flow"
88+
8489
/// URL used for Learn More button in Orders empty state.
8590
///
8691
case blog = "https://woocommerce.com/blog/"

WooCommerce/WooCommerceTests/Model/CustomHelpCenterContentTests.swift

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import XCTest
44

55
final class CustomHelpCenterContentTests: XCTestCase {
66

7+
// MARK: CustomHelpCenterContent.Key
8+
//
79
func test_step_key_has_correct_rawValue() {
810
let sut = CustomHelpCenterContent.Key.step
911
XCTAssertEqual(sut.rawValue, "source_step")
@@ -19,6 +21,17 @@ final class CustomHelpCenterContentTests: XCTestCase {
1921
XCTAssertEqual(sut.rawValue, "help_content_url")
2022
}
2123

24+
// MARK: Invalid `Step` and `Flow`
25+
//
26+
func test_init_using_invalid_step_and_flow_returns_nil() {
27+
let step: AuthenticatorAnalyticsTracker.Step = .magicLinkRequested
28+
let flow: AuthenticatorAnalyticsTracker.Flow = .prologue
29+
30+
XCTAssertNil(CustomHelpCenterContent(step: step, flow: flow))
31+
}
32+
33+
// MARK: Enter Store Address screen
34+
//
2235
func test_init_using_step_and_flow_returns_valid_instance_for_enter_store_address_screen() throws {
2336
// Given
2437
let step: AuthenticatorAnalyticsTracker.Step = .start
@@ -37,10 +50,23 @@ final class CustomHelpCenterContentTests: XCTestCase {
3750
XCTAssertEqual(sut.trackingProperties[CustomHelpCenterContent.Key.url.rawValue], helpContentURL.absoluteString)
3851
}
3952

40-
func test_init_using_invalid_step_and_flow_returns_nil() {
41-
let step: AuthenticatorAnalyticsTracker.Step = .magicLinkRequested
42-
let flow: AuthenticatorAnalyticsTracker.Flow = .prologue
53+
// MARK: Enter WordPress.com email screen from store address flow
54+
//
55+
func test_init_using_step_and_flow_returns_valid_instance_for_enter_WPCOM_email_address_screen() throws {
56+
// Given
57+
let step: AuthenticatorAnalyticsTracker.Step = .enterEmailAddress
58+
let flow: AuthenticatorAnalyticsTracker.Flow = .loginWithSiteAddress
59+
let helpContentURL = WooConstants.URLs.helpCenterForWPCOMEmailFromSiteAddressFlow.asURL()
4360

44-
XCTAssertNil(CustomHelpCenterContent(step: step, flow: flow))
61+
// When
62+
let sut = try XCTUnwrap(CustomHelpCenterContent(step: step, flow: flow))
63+
64+
// Then
65+
XCTAssertEqual(sut.url, helpContentURL)
66+
67+
// Test the `trackingProperties` dictionary values
68+
XCTAssertEqual(sut.trackingProperties[CustomHelpCenterContent.Key.step.rawValue], step.rawValue)
69+
XCTAssertEqual(sut.trackingProperties[CustomHelpCenterContent.Key.flow.rawValue], flow.rawValue)
70+
XCTAssertEqual(sut.trackingProperties[CustomHelpCenterContent.Key.url.rawValue], helpContentURL.absoluteString)
4571
}
4672
}

0 commit comments

Comments
 (0)