protected async Task <SubjectEvent> GetSubjectEvent(string subjectId) { SubjectEventsResponse subjectEventsResponse = await DefaultApi.WorkflowsClient().GetSubjectEvents(subjectId); subjectEventsResponse.ShouldNotBeNull(); subjectEventsResponse.Events.Count.ShouldBe(1); SubjectEvent paymentApprovedEvent = subjectEventsResponse.Events.FirstOrDefault(x => x.Type.Equals("payment_approved")); paymentApprovedEvent.ShouldNotBeNull(); return(paymentApprovedEvent); }
public async Task ShouldReflowByEvent() { await CreateWorkflow(); PaymentResponse payment = await MakeCardPayment(); SubjectEvent paymentApprovedEvent = await Retriable(async() => await GetSubjectEvent(payment.Id)); paymentApprovedEvent.ShouldNotBeNull(); paymentApprovedEvent.Id.ShouldNotBeNullOrEmpty(); ReflowResponse reflowResponse = await DefaultApi.WorkflowsClient().ReflowByEvent(paymentApprovedEvent.Id); reflowResponse.ShouldNotBeNull(); reflowResponse.HttpStatusCode.ShouldNotBeNull(); reflowResponse.ResponseHeaders.ShouldNotBeNull(); }
public async Task ShouldGetSubjectEventAndEvents() { await CreateWorkflow(); PaymentResponse paymentResponse = await MakeCardPayment(true); SubjectEventsResponse subjectEventsResponse = await Retriable(async() => await DefaultApi.WorkflowsClient().GetSubjectEvents(paymentResponse.Id), HasTwoEvents); subjectEventsResponse.ShouldNotBeNull(); subjectEventsResponse.Events.Count.ShouldBe(2); SubjectEvent paymentApprovedEvent = subjectEventsResponse.Events.FirstOrDefault(x => x.Type.Equals("payment_approved")); paymentApprovedEvent.ShouldNotBeNull(); paymentApprovedEvent.Id.ShouldNotBeNullOrEmpty(); paymentApprovedEvent.Timestamp.ShouldNotBeNullOrEmpty(); paymentApprovedEvent.GetLink("self").ShouldNotBeNull(); SubjectEvent paymentCapturedEvent = subjectEventsResponse.Events.FirstOrDefault(x => x.Type.Equals("payment_captured")); paymentCapturedEvent.ShouldNotBeNull(); paymentCapturedEvent.Id.ShouldNotBeNullOrEmpty(); paymentCapturedEvent.Timestamp.ShouldNotBeNullOrEmpty(); paymentCapturedEvent.GetLink("self").ShouldNotBeNull(); GetEventResponse getEventResponse = await DefaultApi.WorkflowsClient().GetEvent(paymentCapturedEvent.Id); getEventResponse.ShouldNotBeNull(); getEventResponse.Id.ShouldNotBeNull(); getEventResponse.Timestamp.ShouldNotBeNull(); getEventResponse.Version.ShouldNotBeNull(); getEventResponse.Data.ShouldNotBeNull(); }