private void MapBrewerEditViewModelToBrewer(BrewerEditViewModel brewerEditViewModel, Brewer brewer)
 {
     brewer.Name     = brewerEditViewModel.Name;
     brewer.Street   = brewerEditViewModel.Street;
     brewer.Location = brewerEditViewModel.PostalCode == null ? null : _locationRepository.GetBy(brewerEditViewModel.PostalCode);
     brewer.Turnover = brewerEditViewModel.Turnover;
 }
        public void Edit_ModelStateErrors_DoesNotChangeNorPersistsBrewerAndPassesViewModelAndViewDataToEditView()
        {
            var bavik = _dummyContext.Bavik;

            _brewerRepository.Setup(m => m.GetBy(1)).Returns(bavik);
            _locationRepository.Setup(m => m.GetAll()).Returns(_dummyContext.Locations);
            BrewerEditViewModel brewerEvm = new BrewerEditViewModel(bavik)
            {
                Name = "New name"
            };

            _controller.ModelState.AddModelError("", "Error message");
            var result = Assert.IsType <ViewResult>(_controller.Edit(brewerEvm, 1));

            Assert.Equal("Edit", result.ViewName);
            Assert.Equal(brewerEvm, result.Model);
            var locations = Assert.IsType <SelectList>(result.ViewData["Locations"]);

            Assert.Equal(3, locations.Count());
            var isEdit = Assert.IsType <bool>(result.ViewData["IsEdit"]);

            Assert.True(isEdit);
            Assert.Equal("Bavik", bavik.Name);
            _brewerRepository.Verify(m => m.SaveChanges(), Times.Never());
        }
예제 #3
0
        public void Edit_PassesBrewerInEditViewModel()
        {
            _brewerRepository.Setup(m => m.GetBy(1)).Returns(_dummyContext.Bavik);
            IActionResult       action    = _controller.Edit(1);
            BrewerEditViewModel brewerEvm = (action as ViewResult)?.Model as BrewerEditViewModel;

            Assert.Equal("Bavik", brewerEvm?.Name);
        }
예제 #4
0
        public void Create_ValidBrewer_CreatesAndPersistsBrewer()
        {
            _brewerRepository.Setup(m => m.Add(It.IsAny <Brewer>()));
            BrewerEditViewModel brewerEvm = new BrewerEditViewModel(_dummyContext.Bavik);

            _controller.Create(brewerEvm);
            _brewerRepository.Verify(m => m.Add(It.IsAny <Brewer>()), Times.Once());
            _brewerRepository.Verify(m => m.SaveChanges(), Times.Once());
        }
예제 #5
0
        public void Create_InvalidBrewer_RedirectsToActionIndex()
        {
            BrewerEditViewModel brewerEvm = new BrewerEditViewModel(new Brewer("Chimay"))
            {
                Turnover = -1
            };
            RedirectToActionResult action = _controller.Create(brewerEvm) as RedirectToActionResult;

            Assert.Equal("Index", action?.ActionName);
        }
예제 #6
0
        public void Edit_ValidEdit_RedirectsToActionIndex()
        {
            _brewerRepository.Setup(m => m.GetBy(1)).Returns(_dummyContext.Bavik);
            BrewerEditViewModel brewerEvm = new BrewerEditViewModel(_dummyContext.Bavik)
            {
                Street = "nieuwe straat 1"
            };
            RedirectToActionResult action = _controller.Edit(brewerEvm, 1) as RedirectToActionResult;

            Assert.Equal("Index", action?.ActionName);
        }
        public void Create_ModelStateErrors_DoesNotCreateNorPersistsBrewer()
        {
            _brewerRepository.Setup(m => m.GetBy(1)).Returns(_dummyContext.Bavik);
            BrewerEditViewModel newBrewerEvm = new BrewerEditViewModel();

            _controller.ModelState.AddModelError("", "Error message");
            ViewResult result = _controller.Create(newBrewerEvm) as ViewResult;

            _brewerRepository.Verify(m => m.Add(It.IsAny <Brewer>()), Times.Never());
            _brewerRepository.Verify(m => m.SaveChanges(), Times.Never());
        }
예제 #8
0
        public void Create_ValidBrewer_RedirectsToActionIndex()
        {
            BrewerEditViewModel brewerEvm = new BrewerEditViewModel(new Brewer("Chimay")
            {
                Location = _dummyContext.Locations.Last(),
                Street   = "TestStraat 10 ",
                Turnover = 8000000
            });
            RedirectToActionResult action = _controller.Create(brewerEvm) as RedirectToActionResult;

            Assert.Equal("Index", action?.ActionName);
        }
예제 #9
0
        public void Create_InvalidBrewer_DoesNotCreateNorPersistsBrewer()
        {
            _brewerRepository.Setup(m => m.Add(It.IsAny <Brewer>()));
            BrewerEditViewModel brewerEvm = new BrewerEditViewModel(new Brewer("Chimay"))
            {
                Turnover = -1
            };
            RedirectToActionResult action = _controller.Create(brewerEvm) as RedirectToActionResult;

            _brewerRepository.Verify(m => m.Add(It.IsAny <Brewer>()), Times.Never());
            _brewerRepository.Verify(m => m.SaveChanges(), Times.Never());
        }
예제 #10
0
 private void MapBrewerEditViewModelToBrewer(BrewerEditViewModel brewerEditViewModel, Brewer brewer)
 {
     brewer.Name     = brewerEditViewModel.Name;
     brewer.Street   = brewerEditViewModel.Street;
     brewer.Location = brewerEditViewModel.PostalCode == null
         ? null
         : _locationRepository.GetBy(brewerEditViewModel.PostalCode);
     brewer.ContactEmail    = brewerEditViewModel.ContactEmail;
     brewer.DateEstablished = brewerEditViewModel.DateEstablished;
     brewer.Description     = brewerEditViewModel.Description;
     brewer.Turnover        = brewerEditViewModel.Turnover;
 }
        public void Create_DomainErrors_DoesNotCreateNorPersistsBrewerAndRedirectsToActionIndex()
        {
            _brewerRepository.Setup(m => m.Add(It.IsAny <Brewer>()));
            var brewerEvm = new BrewerEditViewModel(new Brewer("Chimay"))
            {
                Turnover = -1
            };
            var result = Assert.IsType <RedirectToActionResult>(_controller.Create(brewerEvm));;

            Assert.Equal("Index", result.ActionName);
            _brewerRepository.Verify(m => m.Add(It.IsAny <Brewer>()), Times.Never());
            _brewerRepository.Verify(m => m.SaveChanges(), Times.Never());
        }
예제 #12
0
 public IActionResult Create(BrewerEditViewModel brewerEditViewModel)
 {
     try {
         Brewer brewer = new Brewer(brewerEditViewModel.Name);
         MapBrewerEditViewModelToBrewer(brewerEditViewModel, brewer);
         _brewerRepository.Add(brewer);
         _brewerRepository.SaveChanges();
         TempData["message"] = $"You successfully added brewer {brewer.Name}.";
     }
     catch {
         TempData["error"] = "Sorry, something went wrong, the brewer was not added...";
     }
     return(RedirectToAction(nameof(Index)));
 }
        public void Edit_ValidEdit_UpdatesAndPersistsBrewerAndRedirectsToActionIndex()
        {
            _brewerRepository.Setup(m => m.GetBy(1)).Returns(_dummyContext.Bavik);
            var brewerEvm = new BrewerEditViewModel(_dummyContext.Bavik)
            {
                Street = "nieuwe straat 1"
            };
            var result = Assert.IsType <RedirectToActionResult>(_controller.Edit(brewerEvm, 1));
            var bavik  = _dummyContext.Bavik;

            Assert.Equal("Index", result?.ActionName);
            Assert.Equal("Bavik", bavik.Name);
            Assert.Equal("nieuwe straat 1", bavik.Street);
            _brewerRepository.Verify(m => m.SaveChanges(), Times.Once());
        }
        public void EditTestModelOefening()
        {
            _locationRepository.Setup(m => m.GetAll()).Returns(_dummyContext.Locations);
            _brewerRepository.Setup(m => m.GetBy(1)).Returns(_dummyContext.Bavik);
            BrewerEditViewModel brewerEvm = new BrewerEditViewModel(_dummyContext.Bavik);

            _controller.ModelState.AddModelError("111", "Error messageRRR");
            var result = Assert.IsType <ViewResult>(_controller.Edit(brewerEvm, brewerEvm.BrewerId));

            Assert.Equal("Edit", result.ViewName);
            Assert.Equal(brewerEvm, result.Model);
            Assert.True((bool)result.ViewData["IsEdit"]);
            _brewerRepository.Verify(m => m.Add(It.IsAny <Brewer>()), Times.Never());
            _brewerRepository.Verify(m => m.SaveChanges(), Times.Never());
        }
        public void Create_ValidBrewer_CreatesAndPersistsBrewerAndRedirectsToActionIndex()
        {
            _brewerRepository.Setup(m => m.Add(It.IsAny <Brewer>()));
            var brewerEvm = new BrewerEditViewModel(new Brewer("Chimay")
            {
                Location = _dummyContext.Locations.Last(),
                Street   = "TestStraat 10 ",
                Turnover = 8000000
            });
            var result = Assert.IsType <RedirectToActionResult>(_controller.Create(brewerEvm));

            Assert.Equal("Index", result?.ActionName);
            _brewerRepository.Verify(m => m.Add(It.IsAny <Brewer>()), Times.Once());
            _brewerRepository.Verify(m => m.SaveChanges(), Times.Once());
        }
예제 #16
0
        public void Edit_ValidEdit_ChangesAndPersistsBrewer()
        {
            _brewerRepository.Setup(m => m.GetBy(1)).Returns(_dummyContext.Bavik);
            BrewerEditViewModel brewerEvm = new BrewerEditViewModel(_dummyContext.Bavik)
            {
                Street = "nieuwe straat 1"
            };

            _controller.Edit(brewerEvm, 1);
            Brewer bavik = _dummyContext.Bavik;

            Assert.Equal("Bavik", bavik.Name);
            Assert.Equal("nieuwe straat 1", bavik.Street);
            _brewerRepository.Verify(m => m.SaveChanges(), Times.Once());
        }
예제 #17
0
        public void Edit_InvalidEdit_DoesNotChangeNorPersistsBrewer()
        {
            _brewerRepository.Setup(m => m.GetBy(1)).Returns(_dummyContext.Bavik);
            BrewerEditViewModel brewerEvm = new BrewerEditViewModel(_dummyContext.Bavik)
            {
                Turnover = -1
            };

            _controller.Edit(brewerEvm, 1);
            Brewer bavik = _dummyContext.Bavik;

            Assert.Equal("Bavik", bavik.Name);
            Assert.Equal("Rijksweg 33", bavik.Street);
            Assert.Equal(20000000, bavik.Turnover);
            _brewerRepository.Verify(m => m.SaveChanges(), Times.Never());
        }
        public void Edit_DomainErrors_DoesNotChangeNorPersistsBrewerAndRedirectsToActionIndex()
        {
            _brewerRepository.Setup(m => m.GetBy(1)).Returns(_dummyContext.Bavik);
            var brewerEvm = new BrewerEditViewModel(_dummyContext.Bavik)
            {
                Turnover = -1
            };
            var result = Assert.IsType <RedirectToActionResult>(_controller.Edit(brewerEvm, 1));
            var bavik  = _dummyContext.Bavik;

            Assert.Equal("Index", result.ActionName);
            Assert.Equal("Bavik", bavik.Name);
            Assert.Equal("Rijksweg 33", bavik.Street);
            Assert.Equal(20000000, bavik.Turnover);
            _brewerRepository.Verify(m => m.SaveChanges(), Times.Never());
        }
예제 #19
0
        public IActionResult Edit(BrewerEditViewModel brewerEditViewModel, int id)
        {
            Brewer brewer = null;

            try
            {
                brewer = _brewerRepository.GetBy(id);
                MapBrewerEditViewModelToBrewer(brewerEditViewModel, brewer);
                _brewerRepository.SaveChanges();
                TempData["message"] = $"You successfully updated brewer {brewer.Name}.";
            }
            catch
            {
                TempData["error"] = $"Sorry, something went wrong, brewer {brewer?.Name} was not updated...";
            }
            return(RedirectToAction(nameof(Index)));
        }
        public void Create_ModelStateErrors_DoesNotCreateNorPersistsBrewerAndPassesViewModelAndViewDataToEditView()
        {
            _locationRepository.Setup(m => m.GetAll()).Returns(_dummyContext.Locations);
            _brewerRepository.Setup(m => m.GetBy(1)).Returns(_dummyContext.Bavik);
            BrewerEditViewModel brewerEvm = new BrewerEditViewModel(_dummyContext.Bavik);

            _controller.ModelState.AddModelError("111", "Error messageRRR");
            var result = Assert.IsType <ViewResult>(_controller.Create(brewerEvm));

            Assert.Equal("Edit", result.ViewName);
            Assert.Equal(brewerEvm, result.Model);
            var locations = Assert.IsType <SelectList>(result.ViewData["Locations"]);

            Assert.Equal(3, locations.Count());
            var isEdit = Assert.IsType <bool>(result.ViewData["IsEdit"]);

            Assert.False(isEdit);
            _brewerRepository.Verify(m => m.Add(It.IsAny <Brewer>()), Times.Never());
            _brewerRepository.Verify(m => m.SaveChanges(), Times.Never());
        }
예제 #21
0
 public IActionResult Edit(BrewerEditViewModel brewerEditViewModel, int id)
 {
     if (ModelState.IsValid)
     {
         Brewer brewer = null;
         try {
             brewer = _brewerRepository.GetBy(id);
             MapBrewerEditViewModelToBrewer(brewerEditViewModel, brewer);
             _brewerRepository.SaveChanges();
             TempData["message"] = $"You successfully updated brewer {brewer.Name}.";
             return(RedirectToAction(nameof(Index)));
         }
         catch (Exception e) {
             ModelState.AddModelError("", e.Message);
             //TempData["error"] = $"Sorry, something went wrong, brewer {brewer?.Name} was not updated...";
         }
     }
     ViewData["IsEdit"]    = true;
     ViewData["Locations"] = GetLocationsAsSelectList();
     return(View(brewerEditViewModel));
 }
 public IActionResult Create(BrewerEditViewModel brewerEditViewModel)
 {
     if (ModelState.IsValid)
     {
         Brewer brewer = null;
         try
         {
             brewer = new Brewer();
             MapBrewerEditViewModelToBrewer(brewerEditViewModel, brewer);
             _brewerRepository.Add(brewer);
             _brewerRepository.SaveChanges();
             TempData["message"] = $"You successfully added brewer {brewer.Name}.";
         }
         catch (Exception)
         {
             TempData["error"] = $"Sorry, er liep iets fout, brouwer {brewer?.Name} kon niet worden gewijzigd";
         }
     }
     ViewData["IsEdit"]    = false;
     ViewData["Locations"] = GetLocationsAsSelectedList();
     return(View(nameof(Edit), brewerEditViewModel));
 }
예제 #23
0
 public IActionResult Create(BrewerEditViewModel brewerEditViewModel)
 {
     if (ModelState.IsValid)
     {
         try
         {
             Brewer brewer = new Brewer(brewerEditViewModel.Name);
             MapBrewerEditViewModelToBrewer(brewerEditViewModel, brewer);
             _brewerRepository.Add(brewer);
             _brewerRepository.SaveChanges();
             TempData["message"] = $"You successfully added brewer {brewer.Name}.";
         }
         catch
         {
             TempData["error"] = "Sorry, something went wrong, the brewer was not added...";
         }
         return(RedirectToAction(nameof(Index)));
     }
     ViewData["IsEdit"]    = false;
     ViewData["Locations"] = GetLocationsAsSelectList();
     return(View(nameof(Edit), brewerEditViewModel));
 }
        public void Edit_ValidEdit_UpdatesAndPersistsBrewerAndRedirectsToActionIndex()
        {
            Brewer bavik = new Brewer("Bavik")
            {
                BrewerId = 1
            };
            Brewer moortgat = new Brewer("Duvel Moortgat")
            {
                BrewerId = 2
            };

            _brewerRepository.Setup(m => m.GetBy(1)).Returns(bavik);


            var brewerBavik = new BrewerEditViewModel(bavik);
            var result      = Assert.IsType <RedirectToActionResult>(_controller.Edit(brewerBavik, 1));


            Assert.Equal("Index", result?.ActionName);
            Assert.Equal("Bavik", bavik.Name);

            _brewerRepository.Verify(m => m.SaveChanges(), Times.Once());
        }
예제 #25
0
        public IActionResult Create(BrewerEditViewModel brewerEditViewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Brewer brewer = new Brewer(brewerEditViewModel.Name);
                    MapBrewerEditViewModelToBrewer(brewerEditViewModel, brewer);
                    _brewerRepository.Add(brewer);
                    _brewerRepository.SaveChanges();
                    TempData["message"] = $"You successfully added brewer {brewer.Name}.";
                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("", e.Message);
                }
            }

            ViewData["IsEdit"]    = false;
            ViewData["Locations"] = GetLocationsAsSelectList();
            return(View(nameof(Edit), brewerEditViewModel));
        }
예제 #26
0
 public void Create_PassesNewBrewerInEditViewModel()
 {
     IActionResult       action    = _controller.Create();
     BrewerEditViewModel brewerEvm = (action as ViewResult)?.Model as BrewerEditViewModel;
     // Assert.Equal(0, brewerEvm?.BrewerId);
 }