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));
        }
Exemplo n.º 2
0
        public void SendApkAanvraagWithErrorsReturnsViewResult()
        {
            var webConfigMock = new Mock <IOptions <WebAppConfig> >(MockBehavior.Strict);
            // Arrange
            var loggerMock = new Mock <ILogService>(MockBehavior.Strict);

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

            using (var repo = new OnderhoudsopdrachtenRepository(new GarageAdministratieContext(_options)))
            {
                var target = new ApkController(_rdwIntegrationServiceAgent, repo, loggerMock.Object, webConfigMock.Object);

                target.ModelState.AddModelError("error", "custom error");
                var model = new ApkAanvraagViewModel();
                model.EigenaarAuto = "Max";

                // Act
                var result = target.SendApkAanvraag(model);

                // Assert
                Assert.IsNotNull(result);
                Assert.IsNotNull((result as ViewResult).Model);
                Assert.AreEqual(model.EigenaarAuto, ((result as ViewResult).Model as ApkAanvraagViewModel).EigenaarAuto);

                loggerMock.Verify(x => x.Log(It.IsAny <LogMessage>()), Times.Never());
                loggerMock.Verify(x => x.LogException(It.IsAny <LogMessage>()), Times.Never());
            }
        }
Exemplo n.º 3
0
        public void SendApkAanvraagFailingAgentMessageResult()
        {
            var webConfigMock = new Mock <IOptions <WebAppConfig> >(MockBehavior.Strict);

            webConfigMock.Setup(x => x.Value).Returns(new WebAppConfig());

            // Arrange
            var loggerMock = new Mock <ILogService>(MockBehavior.Strict);

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

            using (var repo = new OnderhoudsopdrachtenRepository(new GarageAdministratieContext(_options)))
            {
                var target = new ApkController(_rdwIntegrationServiceExceptionAgent, repo, loggerMock.Object, webConfigMock.Object);

                var model = new ApkAanvraagViewModel();
                model.EigenaarAuto = "Max";

                // Act
                var result = target.SendApkAanvraag(model);

                // Assert
                Assert.IsNotNull(result);
                Assert.IsNotNull((result as ViewResult).Model);
                Assert.IsNotNull(target.ViewData["FeedbackMessage"]);
                Assert.AreEqual((string)target.ViewData["FeedbackMessage"], "Sorry, de service is op dit niet beschikbaar. Probeer het later opnieuw.");
                Assert.AreEqual(model.EigenaarAuto, ((result as ViewResult).Model as ApkAanvraagViewModel).EigenaarAuto);

                loggerMock.Verify(x => x.Log(It.IsAny <LogMessage>()), Times.Never());
                loggerMock.Verify(x => x.LogException(It.IsAny <LogMessage>()), Times.Once());
            }
        }
Exemplo n.º 4
0
        public void IndexReturnsViewResult()
        {
            var webConfigMock = new Mock <IOptions <WebAppConfig> >(MockBehavior.Strict);

            // Arrange
            var loggerMock = new Mock <ILogService>(MockBehavior.Strict);

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

            using (var repo = new OnderhoudsopdrachtenRepository(new GarageAdministratieContext(_options)))
            {
                repo.Insert(new Onderhoudsopdracht()
                {
                    Bestuuder                  = "Rob",
                    IsAPKKeuring               = true,
                    Kenteken                   = "12-bld-380",
                    Kilometerstand             = 123,
                    OnderhoudOmschrijving      = "Test",
                    OnderhoudsId               = 1,
                    OpdrachtAangemaakt         = new DateTime(2016, 2, 3),
                    OpdrachtStatus             = 1,
                    OpdrachtStatusBeschrijving = "aangemeld",
                    TelefoonNrBestuuder        = "06-123"
                }

                            );
                var target = new ApkController(_rdwIntegrationServiceAgent, repo, loggerMock.Object, webConfigMock.Object);


                // Act
                var result = target.Index(1);

                Assert.IsNotNull(result);

                Assert.IsInstanceOfType(result, typeof(ViewResult));

                var model = (result as ViewResult).Model as ApkAanvraagViewModel;

                Assert.AreEqual("Rob", model.EigenaarAuto);
                Assert.AreEqual("12-bld-380", model.Kenteken);

                Assert.AreEqual(123, model.Kilometerstand);
                Assert.AreEqual(1, model.OndehoudsopdrachtId);


                loggerMock.Verify(x => x.Log(It.IsAny <LogMessage>()), Times.Never());
                loggerMock.Verify(x => x.LogException(It.IsAny <LogMessage>()), Times.Never());
            }
        }
        public void FacadeToRdwAgent()
        {
            // Arrange
            var logServiceMock = new Mock <ILogService>(MockBehavior.Strict);

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

            var keuringsVerzoekConverter = new KeuringsVerzoekConverter();

            var rdwApkAgentMock = new Mock <IRdwApkAgent>(MockBehavior.Strict);

            rdwApkAgentMock.Setup(x => x.SendApkKeuringsVerzoek(It.IsAny <string>())).Returns("<?xml version=\"1.0\" encoding=\"utf - 8\"?><apkKeuringsverzoekResponseMessage xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><keuringsregistratie correlatieId=\"f7f56961-6928-46ef-9b49-98d611ce2b71\" xmlns=\"http://www.rdw.nl\" xmlns:apk=\"http://www.rdw.nl/apk\"><kenteken>string</kenteken><apk:keuringsdatum>24-11-2016</apk:keuringsdatum><apk:steekproef xsi:nil=\"true\"/></keuringsregistratie></apkKeuringsverzoekResponseMessage>");

            var publisherMock = new Mock <IEventPublisher>(MockBehavior.Strict);

            publisherMock.Setup(x => x.Publish(It.IsAny <DomainEvent>()));
            publisherMock.Setup(x => x.Dispose());

            using (var apkAanvraagLogRepo = new ApkAanvraagLogRepository(new RdwContext(_options)))
                using (var rdwApkManager = new RdwApkManager(rdwApkAgentMock.Object, keuringsVerzoekConverter,
                                                             apkAanvraagLogRepo, "keuringsverzoekXmlns", "keuringsverzoekApk", publisherMock.Object))
                    using (var apkController = new ApkController(rdwApkManager, logServiceMock.Object))
                    {
                        // Act - Start at controller
                        foreach (var apkKeuringsVerzoekCommand in _validApkKeuringsVerzoekCommands)
                        {
                            // Send commands to controller's post method
                            apkController.Post(apkKeuringsVerzoekCommand);
                        }

                        // Assert

                        // See if all commands reached the Agent
                        rdwApkAgentMock.Verify(x => x.SendApkKeuringsVerzoek(It.IsAny <string>()), Times.Exactly(3));
                        logServiceMock.Verify(x => x.Log(It.IsAny <LogMessage>()), Times.Never());
                        logServiceMock.Verify(x => x.LogException(It.IsAny <LogMessage>()), Times.Never());

                        var logsStoredInDatabase = apkAanvraagLogRepo.FindAll();

                        // One log record should be inserted for each command
                        Assert.AreEqual(_validApkKeuringsVerzoekCommands.Count, logsStoredInDatabase.Count());
                    }
        }
Exemplo n.º 6
0
 private void Awake()
 {
     _instance = this;
 }