From 2ba3e33a0e8c0ffc2b69efa906b03364a9d53a51 Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Wed, 19 Apr 2023 14:17:15 +0000 Subject: [PATCH] bugfix/communications (#8) This PR contains the work done to add a missing public initialiser to the `MockURLRequest` struct of the `Communications` library. In addition, it also implements the `gmt` static property for the `TimeZone+Zone` extension included in the `Core` library. Co-authored-by: Javier Cicchelli Reviewed-on: https://repo.rock-n-code.com/rock-n-code/swift-libs/pulls/8 --- .../Communications/Classes/MockURLProtocol.swift | 15 +++++++++++++++ Sources/Core/Extensions/TimeZone+Zone.swift | 10 ++++++++++ 2 files changed, 25 insertions(+) create mode 100644 Sources/Core/Extensions/TimeZone+Zone.swift diff --git a/Sources/Communications/Classes/MockURLProtocol.swift b/Sources/Communications/Classes/MockURLProtocol.swift index 1a92bf6..892f1dd 100644 --- a/Sources/Communications/Classes/MockURLProtocol.swift +++ b/Sources/Communications/Classes/MockURLProtocol.swift @@ -17,6 +17,7 @@ public class MockURLProtocol: URLProtocol { // MARK: Properties + /// The dictionary in which the mock requests with its respective mock responses will be injected. public static var mockData: [MockURLRequest: MockURLResponse] = [:] // MARK: Functions @@ -75,8 +76,22 @@ public class MockURLProtocol: URLProtocol { /// This model includes the data to be injected into an specific URL at the time of mocking its request. public struct MockURLRequest: Hashable { + + // MARK: Properties + public let method: HTTPRequestMethod public let url: URL + + // MARK: Initialisers + + public init( + method: HTTPRequestMethod, + url: URL + ) { + self.method = method + self.url = url + } + } /// This model includes the data to be injected into an specific URL at the time of mocking its response. diff --git a/Sources/Core/Extensions/TimeZone+Zone.swift b/Sources/Core/Extensions/TimeZone+Zone.swift new file mode 100644 index 0000000..e7a524b --- /dev/null +++ b/Sources/Core/Extensions/TimeZone+Zone.swift @@ -0,0 +1,10 @@ +import Foundation + +public extension TimeZone { + + // MARK: Zones + + /// Greenwich Mean Time or UTC+0 + static let gmt = TimeZone(secondsFromGMT: 0) + +}