Skip to content
Snippets Groups Projects
Commit 70badd4b authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Add LookupUD.Params struct

parent 837263bd
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!93Lookup, Multi-Lookup and Search API improvements
......@@ -2,30 +2,45 @@ import Bindings
import XCTestDynamicOverlay
public struct LookupUD {
public var run: (Int, Contact, Data, Data, UdLookupCallback) throws -> SingleUseSendReport
public func callAsFunction(
public struct Params: Equatable {
public init(
e2eId: Int,
udContact: Contact,
lookupId: Data,
singleRequestParamsJSON: Data = GetSingleUseParams.liveDefault(),
singleRequestParamsJSON: Data = GetSingleUseParams.liveDefault()
) {
self.e2eId = e2eId
self.udContact = udContact
self.lookupId = lookupId
self.singleRequestParamsJSON = singleRequestParamsJSON
}
public var e2eId: Int
public var udContact: Contact
public var lookupId: Data
public var singleRequestParamsJSON: Data
}
public var run: (Params, UdLookupCallback) throws -> SingleUseSendReport
public func callAsFunction(
params: Params,
callback: UdLookupCallback
) throws -> SingleUseSendReport {
try run(e2eId, udContact, lookupId, singleRequestParamsJSON, callback)
try run(params, callback)
}
}
extension LookupUD {
public static let live = LookupUD {
e2eId, udContact, lookupId, singleRequestParamsJSON, callback in
public static let live = LookupUD { params, callback in
var error: NSError?
let reportData = BindingsLookupUD(
e2eId,
udContact.data,
params.e2eId,
params.udContact.data,
callback.makeBindingsUdLookupCallback(),
lookupId,
singleRequestParamsJSON,
params.lookupId,
params.singleRequestParamsJSON,
&error
)
if let error = error {
......
......@@ -30,11 +30,13 @@ extension MessengerVerifyContact {
var lookupResult: Result<Contact, NSError>!
let semaphore = DispatchSemaphore(value: 0)
_ = try env.lookupUD(
params: LookupUD.Params(
e2eId: e2e.getId(),
udContact: try ud.getContact(),
lookupId: try contact.getId(),
singleRequestParamsJSON: env.getSingleUseParams(),
callback: .init { result in
singleRequestParamsJSON: env.getSingleUseParams()
),
callback: UdLookupCallback { result in
lookupResult = result
semaphore.signal()
}
......
......@@ -39,7 +39,7 @@ final class MessengerVerifyContactTests: XCTestCase {
var verified: Contact
var e2eId: Int
}
var didLookupUDWithParams: [LookupUDParams] = []
var didLookupUDWithParams: [LookupUD.Params] = []
var didVerifyOwnershipWithParams: [VerifyOwnershipParams] = []
var contact = Contact.unimplemented("contact-data".data(using: .utf8)!)
......@@ -68,13 +68,8 @@ final class MessengerVerifyContactTests: XCTestCase {
return ud
}
env.getSingleUseParams.run = { "single-use-params".data(using: .utf8)! }
env.lookupUD.run = { e2eId, udContact, lookupId, singleRequestParamsJSON, callback in
didLookupUDWithParams.append(.init(
e2eId: e2eId,
udContact: udContact,
lookupId: lookupId,
singleRequestParamsJSON: singleRequestParamsJSON
))
env.lookupUD.run = { params, callback in
didLookupUDWithParams.append(params)
callback.handle(.success(lookedUpContact))
return SingleUseSendReport(rounds: [], roundURL: "", ephId: 0, receptionId: Data())
}
......@@ -117,7 +112,7 @@ final class MessengerVerifyContactTests: XCTestCase {
return ud
}
env.getSingleUseParams.run = { "single-use-params".data(using: .utf8)! }
env.lookupUD.run = { _, _, _, _, callback in
env.lookupUD.run = { _, callback in
callback.handle(.failure(lookupFailure))
return SingleUseSendReport(rounds: [], roundURL: "", ephId: 0, receptionId: Data())
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment