-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathNativeAppTemplateAPIErrorTest.swift
More file actions
95 lines (81 loc) · 3.29 KB
/
Copy pathNativeAppTemplateAPIErrorTest.swift
File metadata and controls
95 lines (81 loc) · 3.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
//
// NativeAppTemplateAPIErrorTest.swift
// NativeAppTemplate
//
@testable import NativeAppTemplate
import Testing
@Suite
struct NativeAppTemplateAPIErrorTest {
@Test
func requestFailedErrorCode() {
let error = NativeAppTemplateAPIError.requestFailed(nil, 500, "Server error")
#expect(error.errorCode == "NATIVEAPPTEMPLATE-2001")
}
@Test
func processingErrorErrorCode() {
let error = NativeAppTemplateAPIError.processingError(nil)
#expect(error.errorCode == "NATIVEAPPTEMPLATE-2002")
}
@Test
func responseMissingRequiredMetaErrorCode() {
let error = NativeAppTemplateAPIError.responseMissingRequiredMeta(field: "total")
#expect(error.errorCode == "NATIVEAPPTEMPLATE-2003")
}
@Test
func responseHasIncorrectNumberOfElementsErrorCode() {
let error = NativeAppTemplateAPIError.responseHasIncorrectNumberOfElements
#expect(error.errorCode == "NATIVEAPPTEMPLATE-2004")
}
@Test
func noDataErrorCode() {
let error = NativeAppTemplateAPIError.noData
#expect(error.errorCode == "NATIVEAPPTEMPLATE-2005")
}
@Test
func requestFailedWithMessage() {
let error = NativeAppTemplateAPIError.requestFailed(nil, 422, "Validation failed")
#expect(error.errorDescription == "Validation failed [Status: 422]")
#expect(error.formattedDescription == "[NATIVEAPPTEMPLATE-2001] Validation failed [Status: 422]")
}
@Test
func requestFailedWithoutMessage() {
let error = NativeAppTemplateAPIError.requestFailed(nil, 500, nil)
let description = error.errorDescription!
#expect(description.contains("RequestFailed"))
#expect(description.contains("500"))
#expect(description.contains("UNKNOWN"))
}
@Test
func processingErrorDescription() {
let error = NativeAppTemplateAPIError.processingError(nil)
#expect(error.errorDescription!.contains("ProcessingError"))
#expect(error.errorDescription!.contains("UNKNOWN"))
}
@Test
func responseMissingRequiredMetaDescription() {
let error = NativeAppTemplateAPIError.responseMissingRequiredMeta(field: "count")
#expect(error.errorDescription!.contains("ResponseMissingRequiredMeta"))
#expect(error.errorDescription!.contains("count"))
}
@Test
func responseMissingRequiredMetaDescriptionNilField() {
let error = NativeAppTemplateAPIError.responseMissingRequiredMeta(field: nil)
#expect(error.errorDescription!.contains("UNKNOWN"))
}
@Test
func responseHasIncorrectNumberOfElementsDescription() {
let error = NativeAppTemplateAPIError.responseHasIncorrectNumberOfElements
#expect(error.errorDescription!.contains("ResponseHasIncorrectNumberOfElements"))
}
@Test
func noDataDescription() {
let error = NativeAppTemplateAPIError.noData
#expect(error.errorDescription == "NativeAppTemplateAPIError::NoData")
#expect(error.formattedDescription == "[NATIVEAPPTEMPLATE-2005] NativeAppTemplateAPIError::NoData")
}
@Test
func codedDescriptionViaErrorExtension() {
let error: Error = NativeAppTemplateAPIError.requestFailed(nil, 404, "Not found")
#expect(error.codedDescription == "[NATIVEAPPTEMPLATE-2001] Not found [Status: 404]")
}
}