AutoCat2/AutoCatCoreTests/Api/Mocks/LoginMethodMock.swift

26 lines
961 B
Swift

import Foundation
import AutoCatCore
class LoginMethodMock: ApiMethodMock {
private var login: String
private var password: String
init(httpMethod: String, path: String, login: String, password: String) {
self.login = login
self.password = password
super.init(httpMethod: httpMethod, path: path)
}
override func response(headers: [String : String], params: [String : Any]) -> (status: Int, data: Data?) {
guard let login = params["email"] as? String, let password = params["password"] as? String else {
return (status: 400, data: self.error(message: "Invalid parameters"))
}
if login != self.login || password != self.password {
return (status: 200, data: self.error(message: "Incorrect login or password", code: ApiError.invalidLoginOrPassword.code()))
}
return (status: 200, data: readData(from: "login_success"))
}
}