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); }
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)); }
/// <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)); }