Skip to content

Commit 85111d6

Browse files
committed
Use guard case to condense Root.Event tests
1 parent 7a619b5 commit 85111d6

File tree

1 file changed

+10
-31
lines changed

1 file changed

+10
-31
lines changed

AuthenticatorTests/RootTests.swift

Lines changed: 10 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -185,12 +185,9 @@ class RootTests: XCTestCase {
185185
var root = Root(deviceCanScan: false)
186186

187187
// Ensure the initial view model has no modal.
188-
let firstViewModel = root.viewModel(for: [], at: displayTime)
189-
switch firstViewModel.modal {
190-
case .none:
191-
break
192-
default:
188+
guard case .none = root.viewModel(for: [], at: displayTime).modal else {
193189
XCTFail("The initial view model should have no modal.")
190+
return
194191
}
195192

196193
// Show the token entry form.
@@ -202,25 +199,19 @@ class RootTests: XCTestCase {
202199
}
203200

204201
// Ensure the view model now has a modal entry form.
205-
let secondViewModel = root.viewModel(for: [], at: displayTime)
206-
switch secondViewModel.modal {
207-
case .entryForm:
208-
break
209-
default:
202+
guard case .entryForm = root.viewModel(for: [], at: displayTime).modal else {
210203
XCTFail("The view model should have a modal entry form.")
204+
return
211205
}
212206

213207
// Signal token entry success.
214208
let effect = root.update(.tokenFormSucceeded)
215209
XCTAssertNil(effect)
216210

217211
// Ensure the token entry form hides on success.
218-
let thirdViewModel = root.viewModel(for: [], at: displayTime)
219-
switch thirdViewModel.modal {
220-
case .none:
221-
break
222-
default:
212+
guard case .none = root.viewModel(for: [], at: displayTime).modal else {
223213
XCTFail("The final view model should have no modal.")
214+
return
224215
}
225216
}
226217

@@ -230,10 +221,7 @@ class RootTests: XCTestCase {
230221
let effect = root.update(event)
231222
// TODO: check that the component state hasn't changed
232223

233-
switch effect {
234-
case .some(.showErrorMessage("Failed to save token.")):
235-
break
236-
default:
224+
guard case .some(.showErrorMessage("Failed to save token.")) = effect else {
237225
XCTFail("Expected .showErrorMessage(\"Failed to save token.\"), got \(String(describing: effect))")
238226
return
239227
}
@@ -245,10 +233,7 @@ class RootTests: XCTestCase {
245233
let effect = root.update(event)
246234
// TODO: check that the component state hasn't changed
247235

248-
switch effect {
249-
case .some(.showErrorMessage("Failed to update token.")):
250-
break
251-
default:
236+
guard case .some(.showErrorMessage("Failed to update token.")) = effect else {
252237
XCTFail("Expected .showErrorMessage(\"Failed to update token.\"), got \(String(describing: effect))")
253238
return
254239
}
@@ -260,10 +245,7 @@ class RootTests: XCTestCase {
260245
let effect = root.update(event)
261246
// TODO: check that the component state hasn't changed
262247

263-
switch effect {
264-
case .some(.showErrorMessage("Failed to move token.")):
265-
break
266-
default:
248+
guard case .some(.showErrorMessage("Failed to move token.")) = effect else {
267249
XCTFail("Expected .showErrorMessage(\"Failed to move token.\"), got \(String(describing: effect))")
268250
return
269251
}
@@ -275,10 +257,7 @@ class RootTests: XCTestCase {
275257
let effect = root.update(event)
276258
// TODO: check that the component state hasn't changed
277259

278-
switch effect {
279-
case .some(.showErrorMessage("Failed to delete token.")):
280-
break
281-
default:
260+
guard case .some(.showErrorMessage("Failed to delete token.")) = effect else {
282261
XCTFail("Expected .showErrorMessage(\"Failed to delete token.\"), got \(String(describing: effect))")
283262
return
284263
}

0 commit comments

Comments
 (0)