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)); }
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()); } }
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()); } }
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()); } }
private void Awake() { _instance = this; }