public async Task TestCallTranferWithoutAI_Success201()
        {
            var request = new CallTransferRequest()
            {
                AccountIdentifier = "",
                OriginatorCaseNo  = "Wave000011",
                IssueCode         = "P01"
            };
            var response = await _controller.Post(request);

            var negResult = response as OkNegotiatedContentResult <CallTransferResponse>;

            Assert.IsNotNull(negResult);
            Assert.AreEqual(HttpStatusCode.OK.ToIntegerString(), negResult.Content.StatusCode);
            Assert.AreEqual("00011", negResult.Content.SessionId);
        }
        public async Task TestCallTranfer_Failed500()
        {
            var request = new CallTransferRequest()
            {
                AccountIdentifier = "04C9E5B5716A43C2B55DD4B351C0AA89",
                OriginatorCaseNo  = "Wave000011",
                IssueCode         = "P001"
            };
            var response = await _controller.Post(request);

            var negResult = response as OkNegotiatedContentResult <CallTransferResponse>;

            Assert.IsNotNull(negResult);
            Assert.AreEqual(HttpStatusCode.InternalServerError.ToIntegerString(), negResult.Content.StatusCode);
            Assert.AreEqual(null, negResult.Content.SessionId);
        }
        public async Task TestCallTranfer_Success203()
        {
            var request = new CallTransferRequest()
            {
                AccountIdentifier = "04C9E5B5716A43C2B55DD4B351C0AA86",
                OriginatorCaseNo  = "Wave00003",
                IssueCode         = "P001"
            };
            var response = await _controller.Post(request);

            var negResult = response as OkNegotiatedContentResult <CallTransferResponse>;

            Assert.IsNotNull(negResult);
            Assert.AreEqual(HttpStatusCode.NonAuthoritativeInformation.ToIntegerString(), negResult.Content.StatusCode);

            Assert.AreEqual("0003", negResult.Content.SessionId);
        }
        public async Task TestCallTranfer_Success200()
        {
            var options = new Dictionary <string, string>();

            options.Add("test", "test");
            var request = new CallTransferRequest()
            {
                AccountIdentifier = "04C9E5B5716A43C2B55DD4B351C0AA84",
                OriginatorCaseNo  = "Wave00001",
                IssueCode         = "P01"
            };
            var response = await _controller.Post(request);

            var negResult = response as OkNegotiatedContentResult <CallTransferResponse>;

            Assert.IsNotNull(negResult);
            Assert.AreEqual(HttpStatusCode.OK.ToIntegerString(), negResult.Content.StatusCode);
            Assert.AreEqual("0001", negResult.Content.SessionId);
        }
 public async Task <IHttpActionResult> Post([FromBody] CallTransferRequest request)
 {
     return(CreateResponse(await CallTransferManager.Execute(request)));
 }