Skip to content

Commit 174d39b

Browse files
committed
Adding test
1 parent 0cac69a commit 174d39b

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

Modules/Tests/NetworkingTests/Remote/BookingsRemoteTests.swift

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,8 @@ struct BookingsRemoteTests {
137137
from: sampleSiteID,
138138
bookingID: bookingID,
139139
attendanceStatus: .noShow,
140-
bookingStatus: nil
140+
bookingStatus: nil,
141+
note: nil
141142
)
142143

143144
// Then
@@ -157,7 +158,8 @@ struct BookingsRemoteTests {
157158
from: sampleSiteID,
158159
bookingID: bookingID,
159160
attendanceStatus: .noShow,
160-
bookingStatus: nil
161+
bookingStatus: nil,
162+
note: nil
161163
)
162164

163165
// Then
@@ -179,7 +181,8 @@ struct BookingsRemoteTests {
179181
from: sampleSiteID,
180182
bookingID: bookingID,
181183
attendanceStatus: nil,
182-
bookingStatus: .confirmed
184+
bookingStatus: .confirmed,
185+
note: nil
183186
)
184187

185188
// Then
@@ -201,7 +204,8 @@ struct BookingsRemoteTests {
201204
from: sampleSiteID,
202205
bookingID: bookingID,
203206
attendanceStatus: .booked,
204-
bookingStatus: .paid
207+
bookingStatus: .paid,
208+
note: nil
205209
)
206210

207211
// Then
@@ -254,4 +258,28 @@ struct BookingsRemoteTests {
254258
#expect((parameters["page"] as? String) == "3")
255259
#expect((parameters["per_page"] as? String) == "100")
256260
}
261+
262+
@Test func test_updateBookingNote_sends_correct_parameters_for_booking_note() async throws {
263+
// Given
264+
let remote = BookingsRemote(network: network)
265+
let bookingID: Int64 = 206
266+
network.simulateResponse(requestUrlSuffix: "bookings/\(bookingID)", filename: "booking-no-create-update-dates")
267+
268+
// When
269+
_ = try await remote.updateBooking(
270+
from: sampleSiteID,
271+
bookingID: bookingID,
272+
attendanceStatus: nil,
273+
bookingStatus: nil,
274+
note: "hello"
275+
)
276+
277+
// Then
278+
let request = try #require(network.requestsForResponseData.first as? JetpackRequest)
279+
let parameters = request.parameters
280+
281+
#expect(parameters["attendance_status"] == nil)
282+
#expect(parameters["status"] == nil)
283+
#expect((parameters["note"] as? String) == "hello")
284+
}
257285
}

Modules/Tests/YosemiteTests/Mocks/MockBookingsRemote.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ final class MockBookingsRemote: BookingsRemoteProtocol {
99
private var fetchResourceResult: Result<BookingResource?, Error>?
1010
private var updateBookingResult: Result<Booking?, Error>?
1111
private var fetchResourcesResult: Result<[BookingResource], Error>?
12+
private var updateBookingNote: Result<Booking?, Error>?
1213

1314
func whenLoadingAllBookings(thenReturn result: Result<[Booking], Error>) {
1415
loadAllBookingsResult = result
@@ -59,7 +60,8 @@ final class MockBookingsRemote: BookingsRemoteProtocol {
5960
func updateBooking(from siteID: Int64,
6061
bookingID: Int64,
6162
attendanceStatus: BookingAttendanceStatus?,
62-
bookingStatus: BookingStatus?) async throws -> Booking? {
63+
bookingStatus: BookingStatus?,
64+
note: String?) async throws -> Booking? {
6365
guard let result = updateBookingResult else {
6466
throw NetworkError.timeout()
6567
}

0 commit comments

Comments
 (0)