public void MakeInvalidApkRequestPostTest()
        {
            // Arrange
            var managerMock = new Mock <IRdwApkManager>(MockBehavior.Strict);

            var logServiceMock = new Mock <ILogService>(MockBehavior.Strict);

            logServiceMock.Setup(x => x.Log(It.IsAny <LogMessage>()));
            logServiceMock.Setup(x => x.LogException(It.IsAny <LogMessage>()));

            var rwdResult = new KeuringsVerzoekAntwoord();

            managerMock.Setup(x => x.HandleApkKeuringsVerzoek(It.IsAny <ApkKeuringsVerzoekCommand>())).Returns(rwdResult);
            var controller = new ApkController(managerMock.Object, logServiceMock.Object);

            controller.ModelState.AddModelError("error", "testerror");

            // Act
            var result = controller.Post(new ApkKeuringsVerzoekCommand());

            // Assert
            managerMock.Verify(x => x.HandleApkKeuringsVerzoek(It.IsAny <ApkKeuringsVerzoekCommand>()), Times.Never());
            logServiceMock.Verify(x => x.Log(It.IsAny <LogMessage>()), Times.Once());
            logServiceMock.Verify(x => x.LogException(It.IsAny <LogMessage>()), Times.Never());

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(BadRequestObjectResult));
        }
Пример #2
0
        private void PublishApkEvent(KeuringsVerzoekAntwoord respone, ApkKeuringsVerzoekCommand apkCommand)
        {
            var apkCreated = new ApkAfgemeldEvent();

            apkCreated.CorrelationID = Guid.NewGuid();
            apkCreated.RoutingKey    = "Minor.Case2.MaRoWe.RWD.Integration.ApkAfgemeld";
            apkCreated.TimeStamp     = DateTime.UtcNow;

            apkCreated.Kenteken          = apkCommand.Kenteken;
            apkCreated.OnderhoudsBeurtId = apkCommand.OnderhoudsBeurtId;
            apkCreated.HasSteekProef     = respone.IsSteekProef;
            if (respone.IsSteekProef)
            {
                apkCreated.SteekProefDatum = respone.SteepkProefDate.Value;
            }
            _publisher.Publish(apkCreated);
        }
Пример #3
0
        public IActionResult SendApkAanvraag(ApkAanvraagViewModel apkAanvraag)
        {
            // Validate ApkAanvraag ViewModel
            if (!ModelState.IsValid)
            {
                return(View("Index", apkAanvraag));
            }

            // ModelState is valid
            var    apkKeuringsVerzoekCommand = CreateApkKeuringsVerzoekCommand(apkAanvraag);
            object keuringsVerzoekResult;

            try
            {
                keuringsVerzoekResult = _rdwIntegrationServiceAgent.MakeApkRequest(apkKeuringsVerzoekCommand);
            }
            catch (Exception ex)
            {
                _logger.LogException(new LogMessage(ex.Message, ex.StackTrace));
                ViewData["FeedbackMessage"] = "Sorry, de service is op dit niet beschikbaar. Probeer het later opnieuw.";
                return(View("Index", apkAanvraag));
            }

            if (!(keuringsVerzoekResult is KeuringsVerzoekAntwoord))
            {
                return(RedirectToAction("Index", apkAanvraag));
            }

            KeuringsVerzoekAntwoord keuringsVerzoekAntwoord = (KeuringsVerzoekAntwoord)keuringsVerzoekResult;

            if (keuringsVerzoekAntwoord.IsSteekProef == true)
            {
                var steekProefViewModel = new SteekproefViewModel(keuringsVerzoekAntwoord.SteepkProefDate);
                return(View("SteekProef", steekProefViewModel));
            }
            return(View("AutoAfgemeld"));
        }