Ejemplo n.º 1
0
        public void ThenVoegEenKlantToeAanHetSysteemMetVoornaamAchternaamTelefoonnummerEmailEnAdres()
        {
            var dataMapper         = new KlantDataMapper(_context);
            var eventPublisherMock = new Mock <IEventPublisher>(MockBehavior.Strict);

            eventPublisherMock.Setup(p => p.Publish(It.IsAny <DomainEvent>()));
            var controller = new KlantController(dataMapper, eventPublisherMock.Object, new LoggerFactory());

            List <long> results = new List <long>();

            for (int i = 0; i < _klanten.Count; i++)
            {
                Klant nieuweKlant = new Klant()
                {
                    Voornaam       = _klanten[i].Item1,
                    Achternaam     = _klanten[i].Item2,
                    Telefoonnummer = _klanten[i].Item3,
                    Email          = _klanten[i].Item4,
                    Adres          = _klanten[i].Item5
                };

                results.Add(controller.HandleVoegKlantToe(new VoegKlantToeCommand(nieuweKlant, "")));
            }

            eventPublisherMock.Verify(e => e.Publish(It.IsAny <DomainEvent>()), Times.Exactly(2));
            eventPublisherMock.VerifyAll();
            Assert.AreEqual(1, results[0]);
            Assert.AreEqual(2, results[1]);
        }
Ejemplo n.º 2
0
        public void GetAll_ShouldReturnAllKlanten()
        {
            // Arrange
            List <Klant> klanten = new List <Klant>()
            {
                new KlantBuilder().SetDummy().Create(),
                new KlantBuilder().SetDummy().SetEmail("*****@*****.**").Create()
            };

            klanten = klanten.OrderBy(x => x.Id).ToList();

            _context.Klanten.Add(klanten[0]);
            _context.Klanten.Add(klanten[1]);
            _context.SaveChanges();

            var dataMapper = new KlantDataMapper(_context);

            // Act
            List <Klant> result = dataMapper.GetAll().OrderBy(x => x.Id).ToList();

            // Assert
            Assert.AreEqual(klanten.Count, result.Count());
            Assert.IsTrue(klanten[0].IsEqual(result[0]));
            Assert.IsTrue(klanten[1].IsEqual(result[1]));
        }
        public void BeforeEach()
        {
            _bestellingBuilder = new BevestigdeBestellingBuilder();

            _connection = new SqliteConnection("DataSource=:memory:");
            _connection.Open();

            var options = new DbContextOptionsBuilder <BffContext>()
                          .UseSqlite(_connection)
                          .Options;

            _dbContext = new BffContext(options);
            _dbContext.Database.EnsureCreated();

            var bestellingDataMapper      = new BestellingDataMapper(_dbContext);
            var klantDataMapper           = new KlantDataMapper(_dbContext);
            var magazijnSessionDataMapper = new MagazijnSessionDataMapper(_dbContext);

            _jwtHelperMock = new Mock <IJwtHelper>(MockBehavior.Strict);
            _nijnContext   = new TestBusContextBuilder().CreateTestContext();

            _target = new BestellingController(
                new CommandPublisher(_nijnContext),
                bestellingDataMapper,
                klantDataMapper,
                magazijnSessionDataMapper,
                _jwtHelperMock.Object,
                new LoggerFactory()
                );

            SeedDatabase();
        }
Ejemplo n.º 4
0
        public void Initialize()
        {
            _connection = new SqliteConnection("DataSource=:memory:");
            _connection.Open();

            _options = new DbContextOptionsBuilder <BffContext>()
                       .UseSqlite(_connection)
                       .Options;

            _context = new BffContext(_options);
            _target  = new KlantDataMapper(_context);

            _context.Database.EnsureCreated();
        }
Ejemplo n.º 5
0
        public void Insert_ShouldInsertKlant()
        {
            // Arrange
            Klant klant = new KlantBuilder().SetDummy().Create();

            var dataMapper = new KlantDataMapper(_context);

            // Act
            dataMapper.Insert(klant);

            Klant result = dataMapper.GetById(klant.Id);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(klant.IsEqual(result));
        }
Ejemplo n.º 6
0
        public void GetById_ShouldReturnKlant_When_ExistingIdIsGiven()
        {
            // Arrange
            Klant klant = new KlantBuilder().SetDummy().Create();

            _context.Klanten.Add(klant);
            _context.SaveChanges();

            var dataMapper = new KlantDataMapper(_context);

            // Act
            Klant result = dataMapper.GetById(klant.Id);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(klant.IsEqual(result));
        }
Ejemplo n.º 7
0
        public void ThenGenereerEenKlantnummer()
        {
            var          dataMapper = new KlantDataMapper(_context);
            List <Klant> results    = new List <Klant>();

            results.Add(dataMapper.GetById(1));
            results.Add(dataMapper.GetById(2));

            Assert.AreEqual(1, results[0].Id);
            Assert.AreEqual("Hans", results[0].Voornaam);
            Assert.AreEqual(1, results[0].Adres.Id);
            Assert.AreEqual("St. Jacobsstraat", results[0].Adres.Straatnaam);

            Assert.AreEqual(2, results[1].Id);
            Assert.AreEqual("Hannah", results[1].Voornaam);
            Assert.AreEqual(2, results[1].Adres.Id);
            Assert.AreEqual("Longest Place Name Avenue", results[1].Adres.Straatnaam);
        }
Ejemplo n.º 8
0
        public void Delete_ShouldThrowInvalidOperationException()
        {
            // Arrange
            var klant = new KlantBuilder().SetDummy().Create();

            var dataMapper = new KlantDataMapper(_context);

            // Act
            void Act()
            {
                dataMapper.Delete(klant);
            }

            // Assert
            var exception = Assert.ThrowsException <InvalidOperationException>((Action)Act);

            Assert.AreEqual("Deleting klanten is not allowed", exception.Message);
        }
Ejemplo n.º 9
0
        public void Update_ShouldUpdateKlant()
        {
            // Arrange
            Klant klant      = new KlantBuilder().SetDummy().Create();
            var   dataMapper = new KlantDataMapper(_context);

            klant            = dataMapper.Insert(klant);
            klant.Achternaam = "Worst";

            // Act
            dataMapper.Update(klant);
            Klant result = dataMapper.Find(x => x.Achternaam == "Worst").FirstOrDefault();

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.IsEqual(klant));
            Assert.AreEqual("Worst", klant.Achternaam);
        }
Ejemplo n.º 10
0
        public void Find_ShouldReturnKlantMatchingACertainPredicate_When_PredicateIsGiven()
        {
            // Arrange
            Klant klant1 = new KlantBuilder().SetDummy().Create();
            Klant klant2 = new KlantBuilder().SetDummy().SetEmail("*****@*****.**").Create();

            _context.Klanten.Add(klant1);
            _context.Klanten.Add(klant2);
            _context.SaveChanges();

            var dataMapper = new KlantDataMapper(_context);

            // Act
            List <Klant> result = dataMapper.Find(x => x.Email.Contains("worst")).ToList();

            // Assert
            Assert.AreEqual(1, result.Count);
            Assert.IsTrue(klant2.IsEqual(result[0]));
        }
        public void BeforeEach()
        {
            _klantBuilder = new KlantBuilder();

            _connection = new SqliteConnection("DataSource=:memory:");
            _connection.Open();

            var options = new DbContextOptionsBuilder <KlantContext>()
                          .UseSqlite(_connection)
                          .EnableSensitiveDataLogging()
                          .Options;

            _dbContext = new KlantContext(options);
            _dbContext.Database.EnsureCreated();
            SeedDatabase();

            _nijnContext = new TestBusContextBuilder().CreateTestContext();

            var klantDataMapper = new KlantDataMapper(_dbContext);
            var eventPublisher  = new EventPublisher(_nijnContext);

            _target = new KlantController(klantDataMapper, eventPublisher, new LoggerFactory());
        }