Beispiel #1
0
        public void Finalize_whenThereAreValidationErrorsDoesNotSucceed()
        {
            Dispute dispute = createSampleDispute();
            var textEvidenceRequest = new TextEvidenceRequest
            {
                Content = "my content",
                Category = "DEVICE_ID",
            };

            DisputeEvidence evidence = gateway.Dispute.AddTextEvidence(dispute.Id, textEvidenceRequest).Target;

            var result = gateway.Dispute.Finalize(dispute.Id);

            Assert.IsFalse(result.IsSuccess());

            Assert.AreEqual
                (
                    new HashSet<ValidationErrorCode>
                    {
                        ValidationErrorCode.DISPUTE_DIGITAL_GOODS_MISSING_EVIDENCE,
                        ValidationErrorCode.DISPUTE_DIGITAL_GOODS_MISSING_DOWNLOAD_DATE
                    },
                    new HashSet<ValidationErrorCode>(result.Errors.ForObject("Dispute").OnField("Dispute").Select(error => error.Code))
                );
            Dispute finalizedDispute = gateway.Dispute.Find(dispute.Id).Target;
            Assert.AreNotEqual(DisputeStatus.DISPUTED, finalizedDispute.Status);
            Assert.AreEqual(DisputeStatus.OPEN, finalizedDispute.Status);
        }
Beispiel #2
0
        public void AddTextEvidence_addsTextEvidence()
        {
            Dispute dispute = createSampleDispute();

            DisputeEvidence evidence = gateway.Dispute.AddTextEvidence(dispute.Id, "my text evidence").Target;

            Assert.NotNull(evidence.Id);
            Assert.NotNull(evidence.CreatedAt);
            Assert.AreEqual("my text evidence", evidence.Comment);
            Assert.Null(evidence.SentToProcessorAt);
            Assert.Null(evidence.Url);
        }
Beispiel #3
0
        public void AddTextEvidence_showsNewRecordInFind()
        {
            Dispute dispute = createSampleDispute();

            DisputeEvidence evidence = gateway.Dispute.AddTextEvidence(dispute.Id, "my text evidence").Target;

            Assert.NotNull(evidence);

            DisputeEvidence foundEvidence = gateway.Dispute.Find(dispute.Id).Target.Evidence[0];

            Assert.AreEqual(evidence.Id, foundEvidence.Id);
        }
Beispiel #4
0
        public void AddFileEvidence_addsEvidence()
        {
            DocumentUpload document = createSampleDocumentUpload();
            Dispute dispute = createSampleDispute();

            DisputeEvidence evidence = gateway.Dispute.AddFileEvidence(dispute.Id, document.Id).Target;

            Assert.NotNull(evidence);

            DisputeEvidence foundEvidence = gateway.Dispute.Find(dispute.Id).Target.Evidence[0];

            Assert.NotNull(foundEvidence);
        }
Beispiel #5
0
        public async Task AddTextEvidenceAsync_addsTextEvidence()
        {
            Dispute dispute = await createSampleDisputeAsync();

            Result <DisputeEvidence> evidenceResult = await gateway.Dispute.AddTextEvidenceAsync(dispute.Id, "my text evidence");

            DisputeEvidence evidence = evidenceResult.Target;

            Assert.NotNull(evidence.Id);
            Assert.NotNull(evidence.CreatedAt);
            Assert.AreEqual("my text evidence", evidence.Comment);
            Assert.Null(evidence.SentToProcessorAt);
            Assert.Null(evidence.Url);
        }
Beispiel #6
0
        public void RemoveEvidence_removesEvidenceFromTheDispute()
        {
            Dispute dispute = createSampleDispute();

            DisputeEvidence evidence = gateway.Dispute.AddTextEvidence(dispute.Id, "my text evidence").Target;

            Assert.NotNull(evidence);

            var result = gateway.Dispute.RemoveEvidence(dispute.Id, evidence.Id);

            Assert.IsTrue(result.IsSuccess());

            Dispute editedDispute = gateway.Dispute.Find(dispute.Id).Target;

            Assert.AreEqual(0, editedDispute.Evidence.Count);
        }
Beispiel #7
0
        public async Task AddTextEvidenceAsync_showsNewRecordInFind()
        {
            Dispute dispute = await createSampleDisputeAsync();

            Result <DisputeEvidence> evidenceResult = await gateway.Dispute.AddTextEvidenceAsync(dispute.Id, "my text evidence");

            DisputeEvidence evidence = evidenceResult.Target;

            Assert.NotNull(evidence);

            Result <Dispute> foundEvidenceResult = await gateway.Dispute.FindAsync(dispute.Id);

            DisputeEvidence foundEvidence = foundEvidenceResult.Target.Evidence[0];

            Assert.AreEqual(evidence.Id, foundEvidence.Id);
        }
Beispiel #8
0
        public async Task AddFileEvidenceAsync_addsEvidence()
        {
            Dispute dispute = await createSampleDisputeAsync();

            DocumentUpload document = await createSampleDocumentUploadAsync();

            Result <DisputeEvidence> evidenceResult = await gateway.Dispute.AddFileEvidenceAsync(dispute.Id, document.Id);

            Assert.NotNull(evidenceResult.Target);

            Result <Dispute> foundResult = await gateway.Dispute.FindAsync(dispute.Id);

            DisputeEvidence foundEvidence = foundResult.Target.Evidence[0];

            Assert.NotNull(foundEvidence);
        }
Beispiel #9
0
        public void RemoveEvidence_errorsWhenDisputeNotOpen()
        {
            Dispute dispute = createSampleDispute();

            DisputeEvidence evidence = gateway.Dispute.AddTextEvidence(dispute.Id, "my text evidence").Target;

            Assert.NotNull(evidence);

            gateway.Dispute.Accept(dispute.Id);

            var result = gateway.Dispute.RemoveEvidence(dispute.Id, evidence.Id);

            Assert.IsFalse(result.IsSuccess());

            Assert.AreEqual(ValidationErrorCode.DISPUTE_CAN_ONLY_REMOVE_EVIDENCE_FROM_OPEN_DISPUTE, result.Errors.ForObject("Dispute").OnField("Status")[0].Code);
            Assert.AreEqual("Evidence can only be removed from disputes that are in an Open state", result.Errors.ForObject("Dispute").OnField("Status")[0].Message);
        }
Beispiel #10
0
        public async Task RemoveEvidenceAsync_removesEvidenceFromTheDispute()
        {
            Dispute dispute = await createSampleDisputeAsync();

            Result <DisputeEvidence> evidenceResult = await gateway.Dispute.AddTextEvidenceAsync(dispute.Id, "my text evidence");

            DisputeEvidence evidence = evidenceResult.Target;

            Assert.NotNull(evidence);

            var result = await gateway.Dispute.RemoveEvidenceAsync(dispute.Id, evidence.Id);

            Assert.IsTrue(result.IsSuccess());

            Dispute editedDispute = gateway.Dispute.Find(dispute.Id).Target;

            Assert.AreEqual(0, editedDispute.Evidence.Count);
        }
Beispiel #11
0
        public void AddTextEvidenceAsync_addsTextEvidence()
        {
            Task.Run(async () =>
#endif
        {
            Dispute dispute = await createSampleDisputeAsync();

            Result<DisputeEvidence> evidenceResult = await gateway.Dispute.AddTextEvidenceAsync(dispute.Id, "my text evidence");
            DisputeEvidence evidence = evidenceResult.Target;

            Assert.NotNull(evidence.Id);
            Assert.NotNull(evidence.CreatedAt);
            Assert.AreEqual("my text evidence", evidence.Comment);
            Assert.Null(evidence.SentToProcessorAt);
            Assert.Null(evidence.Url);
        }
#if net452
            ).GetAwaiter().GetResult();
        }
Beispiel #12
0
        public void AddFileEvidenceAsync_addsEvidence()
        {
            Task.Run(async () =>
#endif
        {
            Dispute dispute = await createSampleDisputeAsync();
            DocumentUpload document = await createSampleDocumentUploadAsync();

            Result<DisputeEvidence> evidenceResult = await gateway.Dispute.AddFileEvidenceAsync(dispute.Id, document.Id);
            Assert.NotNull(evidenceResult.Target);

            Result<Dispute> foundResult = await gateway.Dispute.FindAsync(dispute.Id);
            DisputeEvidence foundEvidence = foundResult.Target.Evidence[0];

            Assert.NotNull(foundEvidence);
        }
#if net452
            ).GetAwaiter().GetResult();
        }
Beispiel #13
0
        public void AddTextEvidenceAsync_showsNewRecordInFind()
        {
            Task.Run(async () =>
#endif
        {
            Dispute dispute = await createSampleDisputeAsync();

            Result<DisputeEvidence> evidenceResult = await gateway.Dispute.AddTextEvidenceAsync(dispute.Id, "my text evidence");
            DisputeEvidence evidence = evidenceResult.Target;

            Assert.NotNull(evidence);

            Result<Dispute> foundEvidenceResult = await gateway.Dispute.FindAsync(dispute.Id);
            DisputeEvidence foundEvidence = foundEvidenceResult.Target.Evidence[0];

            Assert.AreEqual(evidence.Id, foundEvidence.Id);
        }
#if net452
            ).GetAwaiter().GetResult();
        }
Beispiel #14
0
        public void AddTextEvidence_addsEvidenceWithCateogry()
        {
            Dispute dispute = createSampleDispute();
            var textEvidenceRequest = new TextEvidenceRequest
            {
                Content = "my content",
                Category = "DEVICE_ID",
            };

            DisputeEvidence evidence = gateway.Dispute.AddTextEvidence(dispute.Id, textEvidenceRequest).Target;

            Assert.NotNull(evidence);

            DisputeEvidence foundEvidence = gateway.Dispute.Find(dispute.Id).Target.Evidence[0];

            Assert.NotNull(evidence.Category);
            Assert.AreEqual(evidence.Category, "DEVICE_ID");

            Assert.NotNull(foundEvidence);
        }
Beispiel #15
0
        public void RemoveEvidenceAsync_errorsWhenDisputeNotOpen()
        {
            Task.Run(async () =>
#endif
        {
            Dispute dispute = await createSampleDisputeAsync();

            Result<DisputeEvidence> evidenceResult = await gateway.Dispute.AddTextEvidenceAsync(dispute.Id, "my text evidence");
            DisputeEvidence evidence = evidenceResult.Target;
            Assert.NotNull(evidence);
            await gateway.Dispute.AcceptAsync(dispute.Id);

            var result = await gateway.Dispute.RemoveEvidenceAsync(dispute.Id, evidence.Id);

            Assert.IsFalse(result.IsSuccess());

            Assert.AreEqual(ValidationErrorCode.DISPUTE_CAN_ONLY_REMOVE_EVIDENCE_FROM_OPEN_DISPUTE, result.Errors.ForObject("Dispute").OnField("Status")[0].Code);
            Assert.AreEqual("Evidence can only be removed from disputes that are in an Open state", result.Errors.ForObject("Dispute").OnField("Status")[0].Message);
        }
#if net452
            ).GetAwaiter().GetResult();
        }
Beispiel #16
0
        public void AddFileEvidence_addsEvidenceWithCategory()
        {
            DocumentUpload document = createSampleDocumentUpload();
            Dispute dispute = createSampleDispute();

            var fileEvidenceRequest = new FileEvidenceRequest
            {
                DocumentId = document.Id,
                Category = "GENERAL",
            };

            DisputeEvidence evidence = gateway.Dispute.AddFileEvidence(dispute.Id, fileEvidenceRequest).Target;

            Assert.NotNull(evidence);

            DisputeEvidence foundEvidence = gateway.Dispute.Find(dispute.Id).Target.Evidence[0];

            Assert.NotNull(evidence.Category);
            Assert.AreEqual(evidence.Category, "GENERAL");

            Assert.NotNull(foundEvidence);
        }