Exemplo n.º 1
0
        public void HandleVoorraadChanged_ShouldSetVoorraadTo_8_WhenNieuweVoorraadIsGreatherThen_8()
        {
            // Arrange
            ArtikelEntity artikel = new ArtikelEntityBuilder()
                                    .SetDummy()
                                    .SetVoorraad(10)
                                    .SetDummyCategorie("Cat1")
                                    .SetDummyCategorie("Cat2")
                                    .Create();

            var mock = new Mock <IArtikelDataMapper>();

            mock.Setup(repo => repo.GetById(1)).Returns(artikel);

            ArtikelEntity result = null;

            mock.Setup(repo => repo.Update(It.IsAny <ArtikelEntity>()))
            .Callback <ArtikelEntity>(entity =>
            {
                result = entity;
            });

            var voorraad = new Voorraad {
                Artikelnummer = 1, Aantal = 10, NieuweVoorraad = 9
            };

            var auditLogListener = new EventListener(mock.Object, null, null);
            var eventMessage     = new EventMessage("", JsonConvert.SerializeObject(voorraad));

            // Act
            auditLogListener.HandleVoorraadChanged(eventMessage);

            // Assert
            Assert.AreEqual(Constants.MaxVoorraad, result.Voorrraad);
        }
        public void IndexWithIdParameterShouldReturnSingleArticle()
        {
            // Arrange
            ArtikelEntity artikelEntity = new ArtikelEntityBuilder().SetDummy().SetDummyCategorie("Cat1").Create();

            var mock = new Mock <IArtikelDataMapper>();

            mock.Setup(repo => repo.GetById(1)).Returns(artikelEntity);

            var controller = new ArtikelController(mock.Object);

            // Act
            var result1 = controller.GetArtikelById(1);
            var result2 = controller.GetArtikelById(2);

            // Assert
            Assert.IsNotNull(result1);
            Assert.IsInstanceOfType(result1, typeof(ActionResult <Artikel>));

            Artikel artikelResult = result1.Value;

            Assert.AreEqual("Cat1", artikelEntity.ToArtikel().Categorieen.ElementAt(0));
            Assert.AreEqual(artikelEntity.ToArtikel().Categorieen.ElementAt(0), artikelResult.Categorieen.ElementAt(0));

            Assert.IsNotNull(result2);
            Assert.IsInstanceOfType(result2, typeof(ActionResult <Artikel>));
            Assert.IsNull(result2.Value);
        }
Exemplo n.º 3
0
        public void ReceiveAddArtikelToCatalogusWithCompleteEventMessageShouldAddArtikelsToTheDatabase()
        {
            // Arrange
            ArtikelEntity insertParam = null;

            var mock = new Mock <IArtikelDataMapper>();

            mock.Setup(repo => repo.Insert(It.IsAny <ArtikelEntity>())).Returns(insertParam)
            .Callback <ArtikelEntity>(entity =>
            {
                insertParam = entity;
            });

            ArtikelEntity expected = new ArtikelEntityBuilder().SetDummy().SetDummyCategorie("Cat1").SetDummyCategorie("Cat2").Create();
            Artikel       artikel  = expected.ToArtikel();

            var auditLogListener = new EventListener(mock.Object, null, null);
            var eventMessage     = new EventMessage("", JsonConvert.SerializeObject(artikel));

            // Act
            auditLogListener.ReceiveAddArtikelToCatalogus(eventMessage);

            // Assert
            Assert.IsTrue(expected.IsEqual(insertParam));
        }
        public void InsertArtikelInDatabaseWithMultipleCategories()
        {
            // Arrange
            ArtikelEntity artikel1 = new ArtikelEntityBuilder().SetDummy().SetDummyCategorie("Cat1").SetDummyCategorie("Cat2").Create();
            ArtikelEntity artikel2 = new ArtikelEntityBuilder().SetDummy().SetDummyCategorie("Cat2").SetDummyCategorie("Cat3").SetArtikelnummer(2).Create();
            ArtikelEntity artikel3 = new ArtikelEntityBuilder().SetDummy().SetDummyCategorie("Cat2").SetDummyCategorie("Cat3").SetArtikelnummer(3).Create();

            // Act
            artikel1 = _target.Insert(artikel1);
            artikel2 = _target.Insert(artikel2);
            artikel3 = _target.Insert(artikel3);

            // Changing a category should cause the artikel3 assert to fail
            artikel3.ArtikelCategorieen.ElementAt(0).Categorie.Categorie = "Cat4";

            ArtikelEntity result1 = _target.GetById(1);
            ArtikelEntity result2 = _target.GetById(2);
            ArtikelEntity result3 = _target.GetById(3);

            // Assert
            Assert.IsNotNull(result1);
            Assert.IsNotNull(result2);
            Assert.IsNotNull(result3);

            Assert.AreEqual(3, _context.CategorieEntities.Count());

            Assert.IsTrue(artikel1.IsEqual(result1));
            Assert.IsTrue(artikel2.IsEqual(result2));
            Assert.IsTrue(artikel3.IsEqual(result3));
        }
        public void InsertArtikelInDatabase()
        {
            // Arrange
            ArtikelEntity artikel = new ArtikelEntityBuilder().SetDummy().Create();

            // Act
            _target.Insert(artikel);

            ArtikelEntity result = _target.GetById(1);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(artikel.IsEqual(result));
        }
        public void DeleteArtikelFromDatabase()
        {
            // Arrange
            ArtikelEntity artikel = new ArtikelEntityBuilder().SetDummy().Create();

            _context.ArtikelEntities.Add(artikel);
            _context.SaveChanges();

            // Act
            _target.Delete(artikel);

            var result = _target.GetAll();

            // Assert
            Assert.AreEqual(0, result.Count());
        }
        public void UpdateArtikelInDatabaseWithMultipleCategories()
        {
            // Arrange
            ArtikelEntity artikel1 = new ArtikelEntityBuilder().SetDummy().SetDummyCategorie("Cat1").SetDummyCategorie("Cat2").Create();
            ArtikelEntity artikel2 = new ArtikelEntityBuilder().SetDummy().SetDummyCategorie("Cat2").SetDummyCategorie("Cat3").SetArtikelnummer(2).Create();
            ArtikelEntity artikel3 = new ArtikelEntityBuilder().SetDummy().SetDummyCategorie("Cat2").SetDummyCategorie("Cat3").SetArtikelnummer(3).Create();

            _target.Insert(artikel1);
            artikel2 = _target.Insert(artikel2);
            _target.Insert(artikel3);

            // Act
            artikel2.ArtikelCategorieen.Remove(artikel2.ArtikelCategorieen.First());
            _target.Update(artikel2);

            var cat = artikel3.ArtikelCategorieen.ElementAt(0);

            artikel3.ArtikelCategorieen.Remove(cat);

            var newCat = new ArtikelCategorieEntity {
                Categorie = new CategorieEntity {
                    Categorie = "Cat4"
                }
            };

            artikel3.ArtikelCategorieen.Add(newCat);
            _target.Update(artikel3);

            ArtikelEntity result1 = _target.GetById(1);
            ArtikelEntity result2 = _target.GetById(2);
            ArtikelEntity result3 = _target.GetById(3);

            // Assert
            Assert.IsNotNull(result1);
            Assert.IsNotNull(result2);
            Assert.IsNotNull(result3);

            Assert.AreEqual(4, _context.CategorieEntities.Count());

            Assert.AreEqual(2, result1.ArtikelCategorieen.Count());
            Assert.AreEqual(1, result2.ArtikelCategorieen.Count());
            Assert.AreEqual(2, result3.ArtikelCategorieen.Count());

            Assert.IsTrue(artikel1.IsEqual(result1));
            Assert.IsTrue(artikel2.IsEqual(result2));
            Assert.IsTrue(artikel3.IsEqual(result3));
        }
        public void GetArtikelFromDatabaseById()
        {
            ArtikelEntity artikel = new ArtikelEntityBuilder().SetDummy().SetArtikelnummer(12).Create();

            _context.ArtikelEntities.Add(artikel);

            _context.SaveChanges();

            // Act
            ArtikelEntity result1 = _target.GetById(12);
            ArtikelEntity result2 = _target.GetById(23);

            // Assert
            Assert.IsNotNull(result1);
            Assert.IsTrue(result1.IsEqual(artikel));
            Assert.IsNull(result2);
        }
        public void ShouldNotInsertArtikelInDatabaseWithSameArtikelnummer()
        {
            // Arrange
            ArtikelEntity artikel1 = new ArtikelEntityBuilder().SetDummy().Create();
            ArtikelEntity artikel2 = new ArtikelEntityBuilder().SetDummy().Create();

            // Act
            _target.Insert(artikel1);

            Action act = () =>
            {
                _target.Insert(artikel2);
            };

            // Assert
            Assert.ThrowsException <InvalidOperationException>(act);
        }
        public void UpdatedArtikelFromDatabase()
        {
            // Arrange
            ArtikelEntity artikel = new ArtikelEntityBuilder().SetDummy().Create();

            _context.ArtikelEntities.Add(artikel);
            _context.SaveChanges();

            // Act
            artikel.Naam = "Bewerkt";
            _target.Update(artikel);

            var result = _target.GetById(1);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("Bewerkt", result.Naam);
        }
        public void GetAllArtikelenFromDatabase()
        {
            // Arrange
            ArtikelEntity artikel1 = new ArtikelEntityBuilder().SetDummy().Create();
            ArtikelEntity artikel2 = new ArtikelEntityBuilder().SetDummy().SetArtikelnummer(2).Create();

            _context.ArtikelEntities.Add(artikel1);
            _context.ArtikelEntities.Add(artikel2);

            _context.SaveChanges();

            // Act
            List <ArtikelEntity> result = _target.GetAll().ToList();

            // Assert
            Assert.AreEqual(2, result.Count);
            Assert.IsTrue(artikel1.IsEqual(result[0]));
            Assert.IsTrue(artikel2.IsEqual(result[1]));
        }
        public void GetArtikelFromDatabaseByPredicate()
        {
            // Arrange
            ArtikelEntity artikel1 = new ArtikelEntityBuilder().SetDummy().SetArtikelnummer(12).Create();
            ArtikelEntity artikel2 = new ArtikelEntityBuilder().SetDummy().SetArtikelnummer(13).Create();
            ArtikelEntity artikel3 = new ArtikelEntityBuilder().SetDummy().SetArtikelnummer(14).Create();

            _context.ArtikelEntities.Add(artikel1);
            _context.ArtikelEntities.Add(artikel2);
            _context.ArtikelEntities.Add(artikel3);

            _context.SaveChanges();

            // Act
            var result = _target.Find(x => x.Artikelnummer > 12);

            // Assert
            Assert.AreEqual(2, result.Count());
            Assert.IsTrue(artikel2.IsEqual(result.ElementAt(0)));
            Assert.IsTrue(artikel3.IsEqual(result.ElementAt(1)));
        }