public void InvalidAddOnderhoudsopdrachtPostTest()
        {
            // Arrange
            var onderhoudsopdrachtServiceMock = new Mock <IOnderhoudsopdrachtService>(MockBehavior.Strict);

            onderhoudsopdrachtServiceMock.Setup(x => x.AddOnderhoudsopdracht(It.IsAny <CreateOnderhoudCommand>()));

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

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

            var controller = new OnderhoudController(onderhoudsopdrachtServiceMock.Object, logServiceMock.Object);

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

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

            // Assert
            onderhoudsopdrachtServiceMock.Verify(x => x.AddOnderhoudsopdracht(It.IsAny <CreateOnderhoudCommand>()), Times.Never());

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(BadRequestObjectResult));

            var invalidRequest = (result as BadRequestObjectResult).Value as InvalidRequest;

            Assert.AreEqual("Request bevat: 1 fouten", invalidRequest.Message);

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

            onderhoudsopdrachtServiceMock.Setup(x => x.AddOnderhoudsopdracht(It.IsAny <CreateOnderhoudCommand>())).Throws <Exception>();

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

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

            var controller = new OnderhoudController(onderhoudsopdrachtServiceMock.Object, logServiceMock.Object);

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

            // Assert
            onderhoudsopdrachtServiceMock.Verify(x => x.AddOnderhoudsopdracht(It.IsAny <CreateOnderhoudCommand>()), Times.Once());

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(BadRequestObjectResult));

            var invalidRequest = (result as BadRequestObjectResult).Value as InvalidRequest;

            Assert.AreEqual("Er ging iets mis. Onderhoud niet geplaatst.", invalidRequest.Message);
            Assert.AreEqual(0, invalidRequest.InvalidProperties.Count());

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

            repoMock.Setup(r => r.Find(It.IsAny <Guid>())).Returns(new OnderhoudsOpdracht()
            {
                Guid = new Guid("0f8fad5b-d9cb-469f-a165-70867728950e"), OpdrachtStatus = Status.Onderhoud
            });
            repoMock.Setup(r => r.Update(It.IsAny <OnderhoudsOpdracht>()));

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

            pubMock.Setup(p => p.Publish(It.IsAny <OnderhoudsOpdrachtGestartEvent>()));

            var target = new OnderhoudController(repoMock.Object, pubMock.Object);

            var command = new StartOnderhoudOpdrachtCommand(new Guid("0f8fad5b-d9cb-469f-a165-70867728950e"));

            // Act
            IActionResult result = target.StartNieuwOnderhoudsOpdracht(command);

            // Assert
            Assert.IsInstanceOfType(result, typeof(OkResult));
            repoMock.Verify(r => r.Find(It.IsAny <Guid>()), Times.Once());
            repoMock.Verify(r => r.Update(It.IsAny <OnderhoudsOpdracht>()), Times.Once());
            pubMock.Verify(p => p.Publish(It.IsAny <OnderhoudsOpdrachtGestartEvent>()), Times.Once());
        }
        public void ValidOnderhoudsopdrachtAfmeldenTest()
        {
            // 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 onderhoudsopdrachtServiceMock = new Mock <IOnderhoudsopdrachtService>(MockBehavior.Strict);

            onderhoudsopdrachtServiceMock.Setup(x => x.OnderhoudsopdrachtAfmelden(It.IsAny <OnderhoudAfmeldenCommand>()));

            var controller = new OnderhoudController(onderhoudsopdrachtServiceMock.Object, logServiceMock.Object);

            // Act
            var result = controller.OnderhoudsopdrachtAfmelden(new OnderhoudAfmeldenCommand());

            // Assert
            onderhoudsopdrachtServiceMock.Verify(x => x.OnderhoudsopdrachtAfmelden(It.IsAny <OnderhoudAfmeldenCommand>()), Times.Once());

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(OkResult));

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

            repoMock.Setup(r => r.Insert(It.IsAny <OnderhoudsOpdracht>()));

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

            pubMock.Setup(p => p.Publish(It.IsAny <OnderhoudsOpdrachtAangemeldEvent>()));

            var target = new OnderhoudController(repoMock.Object, pubMock.Object);

            var command = new MeldOnderhoudsOpdrachtAanCommand()
            {
                KlantGuid            = new Guid("0f8fad5b-d9cb-469f-a165-70867728950e"),
                AutoGuid             = new Guid("0f8fad5b-d9cb-469f-a165-70867728950e"),
                AanmeldDatum         = DateTime.ParseExact("2016-11-30 10:51", "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture),
                Kilometerstand       = 101,
                OpdrachtOmschrijving = "test omschrijving",
                Apk = true
            };

            // Act
            IActionResult result = target.MaakNieuwOnderhoudsOpdracht(command);

            // Assert
            Assert.IsInstanceOfType(result, typeof(OkResult));
            repoMock.Verify(r => r.Insert(It.IsAny <OnderhoudsOpdracht>()), Times.Once());
            pubMock.Verify(p => p.Publish(It.IsAny <OnderhoudsOpdrachtAangemeldEvent>()), Times.Once());
        }
Example #6
0
        public void InvoerenLevertEenViewResultTest()
        {
            // Arrange
            var agentMock = new Mock <IAutoServiceAgent>(MockBehavior.Strict);
            var repoMock  = new Mock <IRepository <Onderhoudsopdracht, long> >(MockBehavior.Strict);

            repoMock.Setup(repo => repo.Insert(It.IsAny <Onderhoudsopdracht>())).Returns(1);
            var autoRepoMock = new Mock <IRepository <Auto, long> >(MockBehavior.Strict);

            autoRepoMock.Setup(repo => repo.Insert(It.IsAny <Auto>())).Returns(1);
            var klantRepoMock = new Mock <IRepository <Klant, long> >(MockBehavior.Strict);

            klantRepoMock.Setup(repo => repo.Insert(It.IsAny <Klant>())).Returns(1);
            var target = new OnderhoudController(agentMock.Object, autoRepoMock.Object, repoMock.Object, klantRepoMock.Object);
            var auto   = new Auto()
            {
                Kenteken = "AA-BB-12", Type = "personenauto", KlantId = 1, Id = 1
            };

            // Act
            var result = target.Invoeren(auto);

            // Assert
            Assert.IsInstanceOfType(result, typeof(ViewResult));
        }
Example #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //    try
            //    {
            gebruiker = (Gebruiker)Session["gebruiker"];
            if (gebruiker == null)
            {
                Response.Redirect("Login.aspx");
            }
            if (gebruiker.Groep == groepen.Schoonmaker || gebruiker.Groep == groepen.Bestuurder || gebruiker.Groep == groepen.WagenparkBeheerder)
            {
                if (gebruiker.Groep == groepen.Schoonmaker)
                {
                    Response.Redirect("Schoonmaak.aspx");
                }
                else
                {
                    Response.Redirect("Beheer.aspx");
                }
            }
            oc = new OnderhoudController();
            FillLists();
            DataTable dtOnderhoud = GetReaparatieDT(new OnderhoudController().GetAllReparatie());

            gvReparatieLijsten.DataSource = dtOnderhoud;
            gvReparatieLijsten.DataBind();
            //schoonmaakLijstenDt = onderhoudController.GetOnderhoudDataTable();
            //gvSchoonmaakLijsten.DataSource = schoonmaakLijstenDt;
            //gvSchoonmaakLijsten.DataBind();
            //}
            //catch (Exception ex)
            //{
            //    Response.Write(ex.Message);
            //}
        }
        public void OnderhoudController_MaakNieuwOnderhoudsOpdracht_Fails()
        {
            // Arrange
            var repoMock = new Mock <IRepository>(MockBehavior.Strict);
            var pubMock  = new Mock <IEventPublisher>(MockBehavior.Strict);
            var target   = new OnderhoudController(repoMock.Object, pubMock.Object);

            // Act
            IActionResult result = target.MaakNieuwOnderhoudsOpdracht(null);

            // Assert
            Assert.IsInstanceOfType(result, typeof(BadRequestResult));
            repoMock.Verify(r => r.Insert(It.IsAny <OnderhoudsOpdracht>()), Times.Never());
            pubMock.Verify(p => p.Publish(It.IsAny <OnderhoudsOpdrachtAangemeldEvent>()), Times.Never());
        }
Example #9
0
        public void FacadeToDomainService()
        {
            // Arrange
            var eventPublisherMock = new Mock <IEventPublisher>(MockBehavior.Strict);

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

            using (var onderhoudsopdrachtRepo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options)))
            {
                var onderhoudsopdrachtService = new OnderhoudsopdrachtService(onderhoudsopdrachtRepo, eventPublisherMock.Object);

                var logServiceMock = new Mock <ILogService>(MockBehavior.Strict);
                logServiceMock.Setup(x => x.Log(It.IsAny <LogMessage>()));
                logServiceMock.Setup(x => x.LogException(It.IsAny <LogMessage>()));

                // Act

                // Facade receives valid CreateOnderhoudCommand
                var onderhoudController = new OnderhoudController(onderhoudsopdrachtService, logServiceMock.Object);
                // Post multiple CreateOnderhoudCommands to the controller using Post method
                foreach (var createOnderhoudCommand in _validCreateOnderhoudCommands)
                {
                    // Post will pass CreateOnderhoudCommands to DomainService (OnderhoudsopdrachtService)
                    onderhoudController.Post(createOnderhoudCommand);
                }

                // Results stored in database
                var storedInDatabase = onderhoudsopdrachtRepo.FindAll();

                // Assert

                // Test if repository saved correct entity
                Assert.AreEqual(3, storedInDatabase.Count());
                CollectionAssert.AllItemsAreNotNull(storedInDatabase.ToList());
                // Check if all can be found by Id. Id's are starting at 1 and Database is re-created for every test.
                for (var i = 1; i < _validCreateOnderhoudCommands.Count + 1; i++)
                {
                    var currentItem = storedInDatabase.Where(x => x.Id == i).FirstOrDefault();
                    Assert.IsNotNull(currentItem);
                }

                // Test if Publisher has been called exactly 3 times
                eventPublisherMock.Verify(x => x.Publish(It.IsAny <DomainEvent>()), Times.Exactly(_validCreateOnderhoudCommands.Count));

                logServiceMock.Verify(x => x.Log(It.IsAny <LogMessage>()), Times.Never());
                logServiceMock.Verify(x => x.LogException(It.IsAny <LogMessage>()), Times.Never());
            }
        }
Example #10
0
        public void LijstBeheercontroller()
        {
            BeheerController    bc = new BeheerController();
            OnderhoudController oc = new OnderhoudController(bc.HuidigeRemise);

            List <Sector> geblokkeerd     = bc.GetAllGeblokkeerdeSectoren();
            List <Sector> nietGeblokkeerd = bc.GetAllNietGeblokkeerdeSectoren();
            List <Tram>   viezeTrams      = oc.GetViezeTrams();
            List <Tram>   defecteTrams    = oc.GetDefecteTrams();
            //List<Tram> tram = bc.BeschikbareTrams();
            List <Tram> trams = bc.GetAllTrams();


            //    List<Sector> sectoren = db.GetAllSectoren();
            //    List<Onderhoud> onderhoud = db.GetAllOnderhoud();
            //    List<Verbinding> transfers = db.GetAllVerbindingen();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            gebruiker = (Gebruiker)Session["gebruiker"];
            if (gebruiker == null)
            {
                Response.Redirect("Login.aspx");
            }
            if (gebruiker.Groep == groepen.Technicus || gebruiker.Groep == groepen.Bestuurder || gebruiker.Groep == groepen.WagenparkBeheerder)
            {
                if (gebruiker.Groep == groepen.Technicus)
                {
                    Response.Redirect("Reparatie.aspx");
                }
                else
                {
                    Response.Redirect("Beheer.aspx");
                }
            }

            oc = new OnderhoudController();
            //try
            //{
            //Remise huidigeRemise = (Remise)Session["huidigeRemise"];

            if (!IsPostBack)
            {
                DataTable dtOnderhoud = getSchoonmaakDt(new OnderhoudController().GetAllSchoonmaak());

                gvSchoonmaakLijsten.DataSource = dtOnderhoud;
                gvSchoonmaakLijsten.DataBind();
                FillLists();
            }

            //}
            //catch (Exception ex)
            //{
            //    Response.Write(ex.Message);
            //}
        }
Example #12
0
        public void ToevoegenLevertEenViewResultEnCalledAutoServiceAgentTest()
        {
            // Arrange
            var agentMock = new Mock <IAutoServiceAgent>(MockBehavior.Strict);
            var repoMock  = new Mock <IRepository <Onderhoudsopdracht, long> >(MockBehavior.Strict);

            repoMock.Setup(repo => repo.Insert(It.IsAny <Onderhoudsopdracht>())).Returns(1);
            var autoRepoMock = new Mock <IRepository <Auto, long> >(MockBehavior.Strict);

            autoRepoMock.Setup(repo => repo.Insert(It.IsAny <Auto>())).Returns(1);
            var klantRepoMock = new Mock <IRepository <Klant, long> >(MockBehavior.Strict);

            klantRepoMock.Setup(repo => repo.Insert(It.IsAny <Klant>())).Returns(1);
            var onderhoudsopdracht = new Entities.Onderhoudsopdracht()
            {
                Auto = new Auto()
                {
                    KlantId = 1, Kenteken = "AA-BB-11"
                }
            };
            var returnOnderhoudsopdracht = new Entities.Onderhoudsopdracht()
            {
                Id = 1, Auto = new Auto()
                {
                    KlantId = 1, Kenteken = "AA-BB-11", Type = "personenauto"
                }
            };

            agentMock.Setup(agent => agent.OnderhoudsopdrachtInvoeren(It.IsAny <Onderhoudsopdracht>())).Returns(returnOnderhoudsopdracht);
            var target = new OnderhoudController(agentMock.Object, autoRepoMock.Object, repoMock.Object, klantRepoMock.Object);

            // Act
            var result = target.Toevoegen(onderhoudsopdracht);

            // Assert
            Assert.IsInstanceOfType(result, typeof(RedirectToActionResult));
            agentMock.Verify(agent => agent.OnderhoudsopdrachtInvoeren(It.IsAny <Onderhoudsopdracht>()), Times.Once());
        }
        public void OnderhoudController_MaakNieuwOnderhoudsOpdracht_Success()
        {
            // Arrange
            var repoMock = new Mock <IRepository>(MockBehavior.Strict);

            repoMock.Setup(r => r.Insert(It.IsAny <OnderhoudsOpdracht>()));

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

            pubMock.Setup(p => p.Publish(It.IsAny <OnderhoudsOpdrachtAangemeldEvent>()));

            var target = new OnderhoudController(repoMock.Object, pubMock.Object);

            var command = new MeldOnderhoudsOpdrachtAanCommand();

            // Act
            IActionResult result = target.MaakNieuwOnderhoudsOpdracht(command);

            // Assert
            Assert.IsInstanceOfType(result, typeof(OkResult));
            repoMock.Verify(r => r.Insert(It.IsAny <OnderhoudsOpdracht>()), Times.Once());
            pubMock.Verify(p => p.Publish(It.IsAny <OnderhoudsOpdrachtAangemeldEvent>()), Times.Once());
        }