Diede Claessens
06/02/2022, 10:14 AMvar mockService: MockService!
    var app: Application!
    override func setUp() async throws {
        mockService = MockService(consumer: "payments", provider: "coexp")
        app = Application(.testing)
    }
    func test_create_session() {
        mockService
            .uponReceiving("Create a card session request")
            .withRequest(method: .POST, path: "/session")
            .willRespondWith(status: 200, headers: nil, body: [
                "session_key": ExampleGenerator.RandomUUID(),
                "terminal_id": ExampleGenerator.RandomUUID(),
            ])
        mockService.run(timeout: 5000) { baseURL, done in
            let terminal = TerminalService.live(baseUrl: baseURL)
            Task {
                let result = try await terminal.getSessionKey(self.app.http.client.shared)
                
                switch result {
                case  .success(_) :
                    XCTPass()
                case .failure(_):
                    XCTFail()
                }
                done()
            }
            
        }
    }Marko (IttyBittyApps / pact-swift)
06/02/2022, 10:26 AMDiede Claessens
06/02/2022, 10:44 AMDiede Claessens
06/02/2022, 10:44 AMMarko (IttyBittyApps / pact-swift)
06/02/2022, 10:53 AMDiede Claessens
06/02/2022, 11:16 AM