public void TestReplaceDocument(long caseId, string documentId, string[] expectedDocumentIds,
                                        string expectedResponseCode, string expectedResponseMessage)
        {
            var tiffFilePath = Path.Combine(Directory.GetCurrentDirectory(), documentId);
            var writer       = new StreamWriter(File.Create(tiffFilePath));

            writer.WriteLine("Prototype an upload test file.");
            writer.Close();
            var sendingBytes        = File.ReadAllBytes(tiffFilePath).ToList();
            var expectedXmlResponse = generateXmlResponse(caseId, expectedDocumentIds,
                                                          expectedResponseCode, expectedResponseMessage);
            var expectedResponseContent
                = new ResponseContent(
                      "application/com.vantivcnp.services-v2+xml",
                      ChargebackUtils.StringToBytes(expectedXmlResponse));
            var commMock = new Mock <Communication>();

            commMock.Setup(c => c.Put(string.Format("/services/chargebacks/replace/{0}/{1}", caseId, documentId),
                                      sendingBytes)).Returns(expectedResponseContent);
            var docRequest        = new ChargebackDocumentationRequest(commMock.Object);
            var docUploadResponse = docRequest.ReplaceDocument(caseId, documentId, tiffFilePath);

            Assert.AreEqual(caseId, docUploadResponse.caseId);
            Assert.AreEqual(expectedDocumentIds, docUploadResponse.documentId);
            Assert.AreEqual(expectedResponseCode, docUploadResponse.responseCode);
            Assert.AreEqual(expectedResponseMessage, docUploadResponse.responseMessage);
        }
        public void SetUp()
        {
            var config = new Configuration();

            config.Set("host", "https://services.vantivprelive.com");
            _docRequest = new ChargebackDocumentationRequest {
                Config = config
            };
        }
        public void TestRetrieveDocument(long caseId, string documentId)
        {
            const string expectedFileContent          = "To test document retrieval";
            var          expectedRetrievedFileContent = ChargebackUtils.StringToBytes(expectedFileContent);
            var          expectedResponseContent      = new ResponseContent(
                "image/tiff", expectedRetrievedFileContent);
            var commMock = new Mock <Communication>();

            commMock.Setup(c => c.Get(string.Format("/services/chargebacks/retrieve/{0}/{1}", caseId, documentId)))
            .Returns(expectedResponseContent);
            var docRequest  = new ChargebackDocumentationRequest(commMock.Object);
            var docResponse = docRequest.RetrieveDocument(caseId, documentId);

            Assert.Less(0, docResponse.Count);
        }
        public void TestRetrieveDocumentFailure(long caseId, string documentId, string[] expectedDocumentIds,
                                                string expectedResponseCode, string expectedResponseMessage)
        {
            var expectedXmlResponse = generateXmlResponse(caseId, expectedDocumentIds,
                                                          expectedResponseCode, expectedResponseMessage);
            var expectedResponseContent = new ResponseContent(
                "application/com.vantivcnp.services-v2+xml",
                ChargebackUtils.StringToBytes(expectedXmlResponse));
            var commMock = new Mock <Communication>();

            commMock.Setup(c => c.Get(string.Format("/services/chargebacks/retrieve/{0}/{1}", caseId, documentId)))
            .Returns(expectedResponseContent);
            var docRequest = new ChargebackDocumentationRequest(commMock.Object);

            docRequest.RetrieveDocument(caseId, documentId);
        }
        public void TestDeleteDocument(long caseId, string documentId, string[] expectedDocumentIds,
                                       string expectedResponseCode, string expectedResponseMessage)
        {
            var expectedXmlResponse = generateXmlResponse(caseId, expectedDocumentIds,
                                                          expectedResponseCode, expectedResponseMessage);
            var expectedResponseContent
                = new ResponseContent("application/com.vantivcnp.services-v2+xml",
                                      ChargebackUtils.StringToBytes(expectedXmlResponse));
            var commMock = new Mock <Communication>();

            commMock.Setup(c => c.Delete(string.Format("/services/chargebacks/delete/{0}/{1}", caseId, documentId)))
            .Returns(expectedResponseContent);
            var docRequest        = new ChargebackDocumentationRequest(commMock.Object);
            var docUploadResponse = docRequest.DeleteDocument(caseId, documentId);

            Assert.AreEqual(caseId, docUploadResponse.caseId);
            Assert.AreEqual(expectedDocumentIds, docUploadResponse.documentId);
            Assert.AreEqual(expectedResponseCode, docUploadResponse.responseCode);
            Assert.AreEqual(expectedResponseMessage, docUploadResponse.responseMessage);
        }
 public void SetUp()
 {
     _docRequest = new ChargebackDocumentationRequest();
 }