示例#1
0
        public async Task GetKlantWithBestellingIdReturnsKlant()
        {
            var klant = new Klant {
                Voornaam = "Hans", Achternaam = "Van Huizen", Id = "1"
            };

            var bestelling = new Bestelling
            {
                KlantId          = "1",
                AdresRegel1      = "Laagstraat 11",
                Plaats           = "Laaghoven",
                Postcode         = "1234FG",
                BestellingStatus = BestellingStatus.TerControleVoorSales,
            };

            using (var context = new BeheerContext(_options))
            {
                var mapper = new KlantDatamapper(context);
                mapper.Insert(klant);

                var bestellingmapper = new BestellingDatamapper(context);
                await bestellingmapper.Insert(bestelling);
            }

            using (var context = new BeheerContext(_options))
            {
                var mapper      = new KlantDatamapper(context);
                var resultKlant = await mapper.GetKlantWithBestellingId(1);

                Assert.AreEqual("1", resultKlant.Id);
                Assert.AreEqual("Van Huizen", resultKlant.Achternaam);
                Assert.AreEqual("Hans", resultKlant.Voornaam);
            }
        }
示例#2
0
        public async Task InsertAddsKlantToDatabase()
        {
            var klant = new Klant
            {
                Id             = "1",
                Voornaam       = "Hans",
                Achternaam     = "van Huizen",
                AdresRegel     = "Voorstraat 8",
                Plaats         = "Groningen",
                Postcode       = "1345df",
                Telefoonnummer = "0665234365"
            };

            using (var context = new KlantContext(_options))
            {
                var dataMapper = new KlantDatamapper(context);
                await dataMapper.Insert(klant);
            }

            using (var context = new KlantContext(_options))
            {
                var result = context.Klanten.SingleOrDefault(a => a.Id == "1");
                Assert.IsNotNull(result);
                Assert.AreEqual("Hans", result.Voornaam);
                Assert.AreEqual("van Huizen", result.Achternaam);
                Assert.AreEqual("Voorstraat 8", result.AdresRegel);
                Assert.AreEqual("Groningen", result.Plaats);
                Assert.AreEqual("1345df", result.Postcode);
                Assert.AreEqual("0665234365", result.Telefoonnummer);
            }
        }
示例#3
0
        public async Task GetKlantByIdReturnsKlant()
        {
            var klant = new Klant
            {
                Id             = "1",
                Voornaam       = "Hans",
                Achternaam     = "van Huizen",
                AdresRegel     = "Voorstraat 8",
                Plaats         = "Groningen",
                Postcode       = "1345df",
                Telefoonnummer = "0665234365",
            };

            using (var context = new WebshopContext(options))
            {
                var dataMapper = new KlantDatamapper(context);
                dataMapper.Insert(klant);
            }

            using (var context = new WebshopContext(options))
            {
                var klantmapper = new KlantDatamapper(context);
                var result      = await klantmapper.GetKlant("1");

                Assert.IsNotNull(result);
                Assert.AreEqual("Hans", result.Voornaam);
                Assert.AreEqual("van Huizen", result.Achternaam);
                Assert.AreEqual("Voorstraat 8", result.AdresRegel);
                Assert.AreEqual("Groningen", result.Plaats);
                Assert.AreEqual("1345df", result.Postcode);
                Assert.AreEqual("0665234365", result.Telefoonnummer);
            }
        }
        public void Initialize()
        {
            _connection = new SqliteConnection("DataSource=:memory:");
            _connection.Open();
            _options = new DbContextOptionsBuilder <WebshopContext>()
                       .UseSqlite(_connection)
                       .Options;

            using (var context = new WebshopContext(_options))
            {
                context.Database.EnsureCreated();
            }

            var artikel = new Artikel
            {
                Artikelnummer  = 1,
                Beschrijving   = "Grote fiets voor iedereen",
                LeverbaarTot   = new DateTime(2018, 5, 5),
                LeverbaarVanaf = new DateTime(2017, 1, 1),
                Naam           = "Fiets",
                Prijs          = 100.50m,
                Voorraad       = 5
            };

            var artikel2 = new Artikel
            {
                Artikelnummer  = 2,
                Beschrijving   = "HELE grote fiets voor iedereen",
                LeverbaarTot   = new DateTime(2018, 5, 5),
                LeverbaarVanaf = new DateTime(2017, 1, 1),
                Naam           = "Fiets Groot",
                Prijs          = 600.50m,
                Voorraad       = 8
            };

            var klant = new Klant
            {
                Voornaam       = "Hans",
                Achternaam     = "Van Huizen",
                Id             = "1",
                Telefoonnummer = "0612341234",
                AdresRegel     = "Grote straat 1",
                Email          = "*****@*****.**",
                Plaats         = "Groningen",
                Postcode       = "6123AA",
                Wachtwoord     = "Geheim_101"
            };


            using (var context = new WebshopContext(_options))
            {
                var klantDatamapper = new KlantDatamapper(context);
                klantDatamapper.Insert(klant);

                var dataMapper = new ArtikelDatamapper(context);
                dataMapper.Insert(artikel);
                dataMapper.Insert(artikel2);
            }
        }
示例#5
0
        public async Task GetUnfinishedBestellingenOfKlant()
        {
            var klant = new Klant {
                Voornaam = "Hans", Achternaam = "Van Huizen", Id = "1"
            };


            var bestelling1 = new Bestelling
            {
                KlantId          = "1",
                AdresRegel1      = "Laagstraat 11",
                Plaats           = "Laaghoven",
                Postcode         = "1234FG",
                BestellingStatus = BestellingStatus.TerControleVoorSales,
            };

            var bestelling2 = new Bestelling
            {
                KlantId          = "1",
                AdresRegel1      = "Laagstraat 11",
                Plaats           = "Middenhoven",
                Postcode         = "1234FG",
                BestellingStatus = BestellingStatus.TerControleVoorSales,
            };

            var bestelling3 = new Bestelling
            {
                KlantId          = "1",
                AdresRegel1      = "Laagstraat 11",
                Plaats           = "Hooghoven",
                Postcode         = "1234FG",
                BestellingStatus = BestellingStatus.InBehandelingDoorMagazijn,
            };

            using (var context = new BeheerContext(_options))
            {
                var mapper = new KlantDatamapper(context);
                mapper.Insert(klant);

                var bestellingmapper = new BestellingDatamapper(context);
                await bestellingmapper.Insert(bestelling1);

                await bestellingmapper.Insert(bestelling2);

                await bestellingmapper.Insert(bestelling3);
            }

            using (var context = new BeheerContext(_options))
            {
                var mapper       = new KlantDatamapper(context);
                var bestellingen = await mapper.GetUnFinishedBestellingenOfKlant("1");

                Assert.AreEqual(2, bestellingen.Count);
                Assert.IsTrue(bestellingen.Any(b => b.Plaats == "Laaghoven"));
                Assert.IsTrue(bestellingen.Any(b => b.Plaats == "Middenhoven"));

                Assert.IsFalse(bestellingen.Any(b => b.Plaats == "Hooghoven"));
            }
        }
示例#6
0
        public void GivenHetKredietVanVanDeKlantBovenDeLimietVanIs(decimal kredietBedrag, decimal limietBedrag)
        {
            klant = new Klant {
                Id              = "1",
                Voornaam        = "Negin",
                Achternaam      = "Nafissi",
                KredietMetSales = kredietBedrag
            };

            using (var context = new BeheerContext(options))
            {
                KlantDatamapper klantDatamapper = new KlantDatamapper(context);
                klantDatamapper.Insert(klant);
            }
        }
示例#7
0
        public void Initialize()
        {
            _connection = new SqliteConnection("DataSource=:memory:");
            _connection.Open();
            _options = new DbContextOptionsBuilder <BeheerContext>()
                       .UseSqlite(_connection)
                       .Options;

            using (var context = new BeheerContext(_options))
            {
                context.Database.EnsureCreated();
            }

            var artikel = new Artikel
            {
                Artikelnummer  = 1,
                Beschrijving   = "Grote fiets voor iedereen",
                LeverbaarTot   = new DateTime(2018, 5, 5),
                LeverbaarVanaf = new DateTime(2017, 1, 1),
                Naam           = "Fiets",
                Prijs          = 299.3m,
                Voorraad       = 5
            };
            var artikel2 = new Artikel
            {
                Artikelnummer  = 2,
                Beschrijving   = "HELE grote fiets voor iedereen",
                LeverbaarTot   = new DateTime(2018, 5, 5),
                LeverbaarVanaf = new DateTime(2017, 1, 1),
                Naam           = "Fiets Groot",
                Prijs          = 299.3m,
                Voorraad       = 8
            };
            var klant = new Klant {
                Voornaam = "Hans", Achternaam = "Van Huizen", Id = "1"
            };

            using (var context = new BeheerContext(_options))
            {
                var klantDatamapper = new KlantDatamapper(context);
                klantDatamapper.Insert(klant);

                var dataMapper = new ArtikelDatamapper(context);
                dataMapper.Insert(artikel);
                dataMapper.Insert(artikel2);
            }
        }
示例#8
0
        public async Task InsertBestellingIntoDatabase()
        {
            var klant = new Klant {
                Voornaam = "Hans", Achternaam = "Van Huizen", Id = "1"
            };

            using (var context = new BeheerContext(_options))
            {
                var mapper = new KlantDatamapper(context);
                mapper.Insert(klant);
            }

            using (var context = new BeheerContext(_options))
            {
                var mapper = new KlantDatamapper(context);
                var result = await mapper.GetKlant("1");

                Assert.AreEqual("Hans", result.Voornaam);
                Assert.AreEqual("Van Huizen", result.Achternaam);
                Assert.AreEqual("1", result.Id);
            }
        }
示例#9
0
        public void Initialize()
        {
            connection = new SqliteConnection("DataSource=:memory:");
            connection.Open();
            options = new DbContextOptionsBuilder <BeheerContext>()
                      .UseSqlite(connection)
                      .Options;

            using (var context = new BeheerContext(options))
            {
                context.Database.EnsureCreated();
                var artikel = new Artikel
                {
                    Artikelnummer  = 1,
                    Beschrijving   = "Grote fiets voor iedereen",
                    LeverbaarTot   = new DateTime(2018, 5, 5),
                    LeverbaarVanaf = new DateTime(2017, 1, 1),
                    Naam           = "Fiets",
                    Prijs          = 40m,
                    Voorraad       = 5
                };
                var artikel2 = new Artikel
                {
                    Artikelnummer  = 2,
                    Beschrijving   = "HELE grote fiets voor iedereen",
                    LeverbaarTot   = new DateTime(2018, 5, 5),
                    LeverbaarVanaf = new DateTime(2017, 1, 1),
                    Naam           = "Fiets Groot",
                    Prijs          = 100m,
                    Voorraad       = 8
                };
                var klant = new Klant {
                    Voornaam = "Hans", Achternaam = "Van Huizen", Id = "1"
                };

                var klantDatamapper = new KlantDatamapper(context);
                klantDatamapper.Insert(klant);

                var datamapper = new ArtikelDatamapper(context);
                datamapper.Insert(artikel);
                datamapper.Insert(artikel2);
            }


            _context = new TestBusContext();

            var services = new ServiceCollection();

            services.AddTransient <ICommandPublisher, CommandPublisher>();
            services.AddSingleton <DbContextOptions>(options);
            services.AddTransient <BeheerContext, BeheerContext>();
            services.AddTransient <IArtikelDatamapper, ArtikelDatamapper>();
            services.AddTransient <IBestellingDatamapper, BestellingDatamapper>();
            services.AddSingleton <IBusContext <IConnection> >(_context);
            services.AddTransient <IEventPublisher, EventPublisher>();
            services.AddTransient <IKlantDatamapper, KlantDatamapper>();

            var builder = new MicroserviceHostBuilder()
                          .RegisterDependencies(services)
                          .WithContext(_context)
                          .AddCommandListener <BestellingListener>()
                          .AddCommandListener <BestellingListenerIntegratieTest>()
                          .AddEventListener <BestellingListener>();

            _host = builder.CreateHost();

            _host.StartListening();
        }