public void Test_SubmitDisputeDocument()
        {
            DisputeDTO         dispute         = null;
            DisputeDocumentDTO disputeDocument = null;

            FilterDisputeDocuments filter = new FilterDisputeDocuments();

            filter.Status = DisputeDocumentStatus.CREATED;

            // search for dispute having any documents created
            foreach (DisputeDTO d in _clientDisputes.Where(x => x.Status == DisputeStatus.PENDING_CLIENT_ACTION || x.Status == DisputeStatus.REOPENED_PENDING_CLIENT_ACTION))
            {
                DisputeDocumentDTO dd = Api.Disputes.GetDocumentsForDispute(d.Id, new Pagination(1, 1), filter).FirstOrDefault();

                if (dd != null)
                {                // found
                    dispute         = d;
                    disputeDocument = dd;
                    break;
                }
            }

            if (dispute == null)
            {
                dispute = _clientDisputes.FirstOrDefault(x => x.Status == DisputeStatus.PENDING_CLIENT_ACTION || x.Status == DisputeStatus.REOPENED_PENDING_CLIENT_ACTION);

                if (dispute == null)
                {
                    Assert.Fail("Cannot test submitting dispute's documents because there's no dispute with expected status in the disputes list.");
                }

                DisputeDocumentPostDTO documentPost = new DisputeDocumentPostDTO(DisputeDocumentType.DELIVERY_PROOF);
                disputeDocument = Api.Disputes.CreateDisputeDocument(documentPost, dispute.Id);
            }

            DisputeDocumentDTO result = null;

            try
            {
                if (disputeDocument == null)
                {
                    Assert.Fail("Cannot test submitting dispute's documents because there's no dispute document that can be updated.");
                }

                DisputeDocumentPutDTO disputeDocumentPut = new DisputeDocumentPutDTO
                {
                    Status = DisputeDocumentStatus.VALIDATION_ASKED
                };

                result = Api.Disputes.SubmitDisputeDocument(disputeDocumentPut, dispute.Id, disputeDocument.Id);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }

            Assert.IsNotNull(result);
            Assert.IsTrue(disputeDocument.Type == result.Type);
            Assert.IsTrue(result.Status == DisputeDocumentStatus.VALIDATION_ASKED);
        }
        public void Test_CreateDisputePage()
        {
            DisputeDTO dispute = _clientDisputes.FirstOrDefault(x => x.Status == DisputeStatus.PENDING_CLIENT_ACTION || x.Status == DisputeStatus.REOPENED_PENDING_CLIENT_ACTION);

            if (dispute == null)
            {
                Assert.Fail("Cannot test creating dispute document page because there's no dispute with expected status in the disputes list.");
            }

            DisputeDocumentDTO result = null;

            try
            {
                DisputeDocumentPostDTO documentPost = new DisputeDocumentPostDTO(DisputeDocumentType.DELIVERY_PROOF);
                result = Api.Disputes.CreateDisputeDocument(documentPost, dispute.Id);

                Api.Disputes.CreateDisputePage(dispute.Id, result.Id, "TestKycPageFile.png");
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }

            Assert.IsNotNull(result);
            Assert.AreEqual(result.Type, DisputeDocumentType.DELIVERY_PROOF);
        }
        public void Test_GetDocument()
        {
            DisputeDTO dispute = _clientDisputes.FirstOrDefault(x => x.Status == DisputeStatus.PENDING_CLIENT_ACTION || x.Status == DisputeStatus.REOPENED_PENDING_CLIENT_ACTION);

            if (dispute == null)
            {
                Assert.Fail("Cannot test getting dispute's document because there's no dispute with expected status in the disputes list.");
            }

            DisputeDocumentDTO document = null;
            DisputeDocumentDTO result   = null;

            try
            {
                DisputeDocumentPostDTO documentPost = new DisputeDocumentPostDTO(DisputeDocumentType.OTHER);
                document = Api.Disputes.CreateDisputeDocument(documentPost, dispute.Id);

                result = Api.Disputes.GetDocument(document.Id);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }

            Assert.IsNotNull(result);
            Assert.AreEqual(result.CreationDate, document.CreationDate);
            Assert.AreEqual(result.Id, document.Id);
            Assert.AreEqual(result.RefusedReasonMessage, document.RefusedReasonMessage);
            Assert.AreEqual(result.RefusedReasonType, document.RefusedReasonType);
            Assert.AreEqual(result.Status, document.Status);
            Assert.AreEqual(result.Tag, document.Tag);
            Assert.AreEqual(result.Type, document.Type);
            Assert.AreEqual(result.DisputeId, document.DisputeId);
        }
示例#4
0
        public async Task Test_GetDocumentConsultations()
        {
            DisputeDTO dispute = _clientDisputes.FirstOrDefault(x => x.Status == DisputeStatus.PENDING_CLIENT_ACTION || x.Status == DisputeStatus.REOPENED_PENDING_CLIENT_ACTION);

            if (dispute == null)
            {
                Assert.Fail("Cannot test creating dispute document page because there's no dispute with expected status in the disputes list.");
            }

            try
            {
                DisputeDocumentPostDTO documentPost = new DisputeDocumentPostDTO(DisputeDocumentType.DELIVERY_PROOF);
                var disputeDocument = await Api.Disputes.CreateDisputeDocument(documentPost, dispute.Id);

                Assembly assembly         = Assembly.GetExecutingAssembly();
                FileInfo assemblyFileInfo = new FileInfo(assembly.Location);
                FileInfo fi    = assemblyFileInfo.Directory.GetFiles("TestKycPageFile.png").Single();
                byte[]   bytes = File.ReadAllBytes(fi.FullName);
                await Api.Disputes.CreateDisputePage(dispute.Id, disputeDocument.Id, bytes);

                var result = await Api.Disputes.GetDocumentConsultations(disputeDocument.Id);

                Assert.AreEqual(1, result.Count);
                Assert.IsInstanceOf <DateTime>(result.First().ExpirationDate);
                Assert.IsInstanceOf <String>(result.First().Url);
                Assert.IsNotEmpty(result.First().Url);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }
        }
 /// <summary>Creates document for dispute.</summary>
 /// <param name="idempotencyKey">Idempotency key for this request.</param>
 /// <param name="disputeDocument">Dispute document to be created.</param>
 /// <param name="disputeId">Dispute identifier.</param>
 /// <returns>Dispute document returned from API.</returns>
 public DisputeDocumentDTO CreateDisputeDocument(String idempotencyKey, DisputeDocumentPostDTO disputeDocument, string disputeId)
 {
     return(this.CreateObject <DisputeDocumentDTO, DisputeDocumentPostDTO>(idempotencyKey, MethodKey.DisputesDocumentCreate, disputeDocument, disputeId));
 }
 /// <summary>Creates document for dispute.</summary>
 /// <param name="disputeDocument">Dispute document to be created.</param>
 /// <param name="disputeId">Dispute identifier.</param>
 /// <returns>Dispute document returned from API.</returns>
 public DisputeDocumentDTO CreateDisputeDocument(DisputeDocumentPostDTO disputeDocument, string disputeId)
 {
     return(CreateDisputeDocument(null, disputeDocument, disputeId));
 }
 /// <summary>Creates document for dispute.</summary>
 /// <param name="disputeDocument">Dispute document to be created.</param>
 /// <param name="disputeId">Dispute identifier.</param>
 /// <returns>Dispute document returned from API.</returns>
 public async Task <DisputeDocumentDTO> CreateDisputeDocument(DisputeDocumentPostDTO disputeDocument, string disputeId)
 {
     return(await CreateDisputeDocument(null, disputeDocument, disputeId));
 }
示例#8
0
 /// <summary>Creates document for dispute.</summary>
 /// <param name="idempotencyKey">Idempotency key for this request.</param>
 /// <param name="disputeDocument">Dispute document to be created.</param>
 /// <param name="disputeId">Dispute identifier.</param>
 /// <returns>Dispute document returned from API.</returns>
 public async Task <DisputeDocumentDTO> CreateDisputeDocumentAsync(String idempotencyKey, DisputeDocumentPostDTO disputeDocument, string disputeId)
 {
     return(await this.CreateObjectAsync <DisputeDocumentDTO, DisputeDocumentPostDTO>(idempotencyKey, MethodKey.DisputesDocumentCreate, disputeDocument, disputeId));
 }