File tree Expand file tree Collapse file tree 13 files changed +108
-43
lines changed
Classes/ViewRelated/Orders
UITestsFoundation/Screens/Orders Expand file tree Collapse file tree 13 files changed +108
-43
lines changed Original file line number Diff line number Diff line change @@ -171,6 +171,7 @@ struct OrderForm: View {
171171 viewModel. finishEditing ( )
172172 dismissHandler ( )
173173 }
174+ . accessibilityIdentifier ( Accessibility . doneButtonIdentifier)
174175 case . loading:
175176 ProgressView ( )
176177 }
@@ -316,6 +317,7 @@ private extension OrderForm {
316317 enum Accessibility {
317318 static let createButtonIdentifier = " new-order-create-button "
318319 static let cancelButtonIdentifier = " new-order-cancel-button "
320+ static let doneButtonIdentifier = " edit-order-done-button "
319321 static let addProductButtonIdentifier = " new-order-add-product-button "
320322 }
321323}
Original file line number Diff line number Diff line change @@ -138,6 +138,7 @@ private extension OrderDetailsViewController {
138138 style: . plain,
139139 target: self ,
140140 action: #selector( editOrder) )
141+ editButton. accessibilityIdentifier = " order-details-edit-button "
141142 editButton. isEnabled = viewModel. editButtonIsEnabled
142143 if ServiceLocator . featureFlagService. isFeatureFlagEnabled ( FeatureFlag . unifiedOrderEditing) {
143144 navigationItem. rightBarButtonItem = editButton
Original file line number Diff line number Diff line change @@ -32,10 +32,10 @@ public final class AddFeeScreen: ScreenObject {
3232 }
3333
3434 /// Confirms entered fee and closes Add Fee screen.
35- /// - Returns: New Order screen object.
35+ /// - Returns: Unified Order screen object.
3636 @discardableResult
37- public func confirmFee( ) throws -> NewOrderScreen {
37+ public func confirmFee( ) throws -> UnifiedOrderScreen {
3838 doneButton. tap ( )
39- return try NewOrderScreen ( )
39+ return try UnifiedOrderScreen ( )
4040 }
4141}
Original file line number Diff line number Diff line change @@ -15,10 +15,10 @@ public final class AddProductScreen: ScreenObject {
1515 }
1616
1717 /// Selects a product from the list.
18- /// - Returns: New Order screen object.
18+ /// - Returns: Unified Order screen object.
1919 @discardableResult
20- public func selectProduct( byName name: String ) throws -> NewOrderScreen {
20+ public func selectProduct( byName name: String ) throws -> UnifiedOrderScreen {
2121 app. buttons. staticTexts [ name] . tap ( )
22- return try NewOrderScreen ( )
22+ return try UnifiedOrderScreen ( )
2323 }
2424}
Original file line number Diff line number Diff line change @@ -47,10 +47,10 @@ public final class AddShippingScreen: ScreenObject {
4747 }
4848
4949 /// Confirms entered shipping details and closes Add Shipping screen.
50- /// - Returns: New Order screen object.
50+ /// - Returns: Unified Order screen object.
5151 @discardableResult
52- public func confirmShippingDetails( ) throws -> NewOrderScreen {
52+ public func confirmShippingDetails( ) throws -> UnifiedOrderScreen {
5353 doneButton. tap ( )
54- return try NewOrderScreen ( )
54+ return try UnifiedOrderScreen ( )
5555 }
5656}
Original file line number Diff line number Diff line change @@ -36,15 +36,15 @@ public final class CustomerDetailsScreen: ScreenObject {
3636 }
3737
3838 /// Updates the order with minimal customer details.
39- /// - Returns: New Order screen object.
39+ /// - Returns: Unified Order screen object.
4040 @discardableResult
41- public func enterCustomerDetails( name: String ) throws -> NewOrderScreen {
41+ public func enterCustomerDetails( name: String ) throws -> UnifiedOrderScreen {
4242 billingFirstNameField. tap ( )
4343 billingFirstNameField. typeText ( name)
4444 addressToggle. tap ( )
4545 shippingFirstNameField. tap ( )
4646 shippingFirstNameField. typeText ( name)
4747 doneButton. tap ( )
48- return try NewOrderScreen ( )
48+ return try UnifiedOrderScreen ( )
4949 }
5050}
Original file line number Diff line number Diff line change @@ -32,10 +32,10 @@ public final class CustomerNoteScreen: ScreenObject {
3232 }
3333
3434 /// Confirms entered note and closes Customer Note screen.
35- /// - Returns: New Order screen object.
35+ /// - Returns: Unified Order screen object.
3636 @discardableResult
37- public func confirmNote( ) throws -> NewOrderScreen {
37+ public func confirmNote( ) throws -> UnifiedOrderScreen {
3838 doneButton. tap ( )
39- return try NewOrderScreen ( )
39+ return try UnifiedOrderScreen ( )
4040 }
4141}
Original file line number Diff line number Diff line change @@ -21,8 +21,8 @@ public final class OrderStatusScreen: ScreenObject {
2121 /// Selects a new order status from the list.
2222 /// - Returns: Order Status screen object (self).
2323 @discardableResult
24- public func selectOrderStatus( atIndex index: Int ) throws -> NewOrderScreen {
24+ public func selectOrderStatus( atIndex index: Int ) throws -> UnifiedOrderScreen {
2525 orderStatusTable. cells. element ( boundBy: index) . tap ( )
26- return try NewOrderScreen ( )
26+ return try UnifiedOrderScreen ( )
2727 }
2828}
Original file line number Diff line number Diff line change @@ -81,11 +81,11 @@ public final class OrdersScreen: ScreenObject {
8181 }
8282
8383 /// Starts the order creation flow by navigating from the Orders screen to the New Order screen.
84- /// - Returns: New Order screen object.
84+ /// - Returns: Unified Order screen object.
8585 @discardableResult
86- public func startOrderCreation( ) throws -> NewOrderScreen {
86+ public func startOrderCreation( ) throws -> UnifiedOrderScreen {
8787 createButton. tap ( )
8888 newOrderButton. tap ( )
89- return try NewOrderScreen ( )
89+ return try UnifiedOrderScreen ( )
9090 }
9191}
Original file line number Diff line number Diff line change @@ -6,15 +6,25 @@ public final class SingleOrderScreen: ScreenObject {
66 // TODO: Remove force `try` once `ScreenObject` migration is completed
77 let tabBar = try ! TabNavComponent ( )
88
9+ private let editOrderButtonGetter : ( XCUIApplication ) -> XCUIElement = {
10+ $0. buttons [ " order-details-edit-button " ]
11+ }
12+
13+ private let summaryCellGetter : ( XCUIApplication ) -> XCUIElement = {
14+ $0. staticTexts [ " summary-table-view-cell-title-label " ]
15+ }
16+
917 private let collectPaymentButtonGetter : ( XCUIApplication ) -> XCUIElement = {
1018 $0. buttons [ " order-details-collect-payment-button " ]
1119 }
1220
21+ private var editOrderButton : XCUIElement { editOrderButtonGetter ( app) }
22+
1323 private var collectPaymentButton : XCUIElement { collectPaymentButtonGetter ( app) }
1424
1525 public init ( app: XCUIApplication = XCUIApplication ( ) ) throws {
1626 try super. init (
17- expectedElementGetters: [ { $0 . staticTexts [ " summary-table-view-cell-title-label " ] } ] ,
27+ expectedElementGetters: [ summaryCellGetter ] ,
1828 app: app
1929 )
2030 }
@@ -63,4 +73,10 @@ public final class SingleOrderScreen: ScreenObject {
6373 pop ( )
6474 return try OrdersScreen ( )
6575 }
76+
77+ @discardableResult
78+ public func tapEditOrderButton( ) throws -> UnifiedOrderScreen {
79+ editOrderButton. tap ( )
80+ return try UnifiedOrderScreen ( flow: . editing)
81+ }
6682}
You can’t perform that action at this time.
0 commit comments