public void Returns_the_expected_model_when_calling_SubmitSMSRegistration()
        {
            _mockJourneyViewModelBuilder.Setup(r => r.Build(AnyQuestionViewModel(), AnyQuestionWithAnswers())).ReturnsAsync(new JourneyViewModel {
                Journey = _journeyModel
            });
            var journeyJson         = JsonConvert.SerializeObject(_journeyModel);
            var smsOutcomeViewModel = new SendSmsOutcomeViewModel
            {
                Journey = _journeyModel,
                VerificationCodeInput = new VerificationCodeInputViewModel {
                    InputValue = "DxC112"
                },
                JourneyJson = journeyJson,
            };
            var returnedModel = new SMSRegistrationViewModel(smsOutcomeViewModel);

            _mockRegisterForSmsViewModelBuilder.Setup(
                s => s.MessageCaseDataCaptureApi <SubmitSMSRegistrationRequest, SMSSubmitRegistrationViewDeterminer>(AnySendSmsOutcomeViewModel(), AnyString()))
            .ReturnsAsync(returnedModel);

            var result = _sut.SubmitSMSRegistration(smsOutcomeViewModel);

            var model = (SendSmsOutcomeViewModel)((ViewResult)result.Result).Model;

            Assert.AreEqual("123456", model.Journey.Steps[0].AnswerInputValue);
        }
Beispiel #2
0
        public async Task <SMSRegistrationViewModel> MessageCaseDataCaptureApi <TRequest, TViewDeterminer>(SendSmsOutcomeViewModel model, string endPoint)
            where TViewDeterminer : SMSViewDeterminerBase, new()
        {
            var request = Mapper.Map <TRequest>(model);

            var response = await SendRequestToDataCaptureApi <TRequest>(endPoint, request);

            var smsRegisrationModel = new SMSRegistrationViewModel(model);

            new TViewDeterminer().Build(smsRegisrationModel, response.StatusCode);

            return(smsRegisrationModel);
        }
Beispiel #3
0
        public void BaseBuild(SMSRegistrationViewModel model, HttpStatusCode statusCode)
        {
            model.ViewName = SuccessView;

            if (statusCode != HttpStatusCode.OK)
            {
                model.ViewName = "Failure_SMS";
            }

            if ((int)statusCode == 429)
            {
                model.ViewName = "Too_Many_Requests_SMS";
            }
        }
Beispiel #4
0
 public override void Build(SMSRegistrationViewModel model, HttpStatusCode statusCode)
 {
     base.BaseBuild(model, statusCode);
 }
Beispiel #5
0
 public virtual void Build(SMSRegistrationViewModel model, HttpStatusCode statusCode)
 {
     BaseBuild(model, statusCode);
 }