Пример #1
0
        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();
        }