// // Testing.swift // AutoCatCore // // Created by Selim Mustafaev on 04.04.2022. // import Foundation public struct Testing { typealias ApiMockMap = [TestKind: [ApiMethodMockProtocol]] public static let testEmail = "test@gmail.com" public static let testPassword = "12345" public enum TestKind: String { case addNumberSuccess } public static var isUITesting: Bool { ProcessInfo.processInfo.arguments.contains("UI-TESTING") } public static var testUrlSession: URLSession? { guard let kindStr = ProcessInfo.processInfo.environment["testKind"], let kind = TestKind(rawValue: kindStr) else { return nil } MockURLProtocol.baseUrl = Constants.baseUrl MockURLProtocol.apiMethodMocks = apiMockSets[kind] ?? [] let sessionConfig = URLSessionConfiguration.default sessionConfig.protocolClasses = [MockURLProtocol.self] return URLSession(configuration: sessionConfig) } private static let apiMockSets: ApiMockMap = { var map = ApiMockMap() map[.addNumberSuccess] = [ LoginMethodMock(login: testEmail, password: testPassword) ] return map }() }