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); } }
public void InsertAddsArtikelToDatabase() { var artikel = new Artikel { Artikelnummer = 1234, Beschrijving = "Grote fiets voor iedereen", LeverbaarTot = new DateTime(2018, 5, 5), LeverbaarVanaf = new DateTime(2017, 1, 1), Naam = "Fiets", Prijs = 299.3m }; using (var context = new BeheerContext(_options)) { var dataMapper = new ArtikelDatamapper(context); dataMapper.Insert(artikel); } using (var context = new BeheerContext(_options)) { var result = context.Artikelen.SingleOrDefault(a => a.Artikelnummer == 1234); Assert.IsNotNull(result); Assert.AreEqual("Fiets", result.Naam); Assert.AreEqual(0, result.Voorraad); } }
public void ChangeVoorraadChangesVoorraadOfArtikel() { var artikel = new Artikel { AfbeeldingUrl = "Afbeelding.jpg", Artikelnummer = 1234, Beschrijving = "Grote fiets voor iedereen", Leverancier = "Fietsen bv", Leveranciercode = "1", LeverbaarTot = new DateTime(2019, 8, 8), LeverbaarVanaf = new DateTime(2017, 3, 3), Naam = "Fiets", Prijs = 299.3m }; using (var context = new WebshopContext(options)) { var dataMapper = new ArtikelDatamapper(context); dataMapper.Insert(artikel); } using (var context = new WebshopContext(options)) { var dataMapper = new ArtikelDatamapper(context); dataMapper.ChangeVoorraad(1234, 10); } using (var context = new WebshopContext(options)) { var result = context.Artikelen.SingleOrDefault(a => a.Artikelnummer == 1234); Assert.IsNotNull(result); Assert.AreEqual("Fiets", result.Naam); Assert.AreEqual(10, result.Voorraad); } }
public async Task InsertAddsArtikelToDatabase() { var artikel = new Artikel { AfbeeldingUrl = "Afbeelding.jpg", Artikelnummer = 1234, Beschrijving = "Grote fiets voor iedereen", Leverancier = "Fietsen bv", Leveranciercode = "1", LeverbaarTot = new DateTime(2018, 5, 5), LeverbaarVanaf = new DateTime(2017, 1, 1), Naam = "Fiets", Prijs = 299.3m }; using (var context = new WebshopContext(options)) { var dataMapper = new ArtikelDatamapper(context); dataMapper.Insert(artikel); } using (var context = new WebshopContext(options)) { var artikelDatamapper = new ArtikelDatamapper(context); var result = await artikelDatamapper.Get(1234); Assert.IsNotNull(result); Assert.AreEqual("Fiets", result.Naam); Assert.AreEqual(0, result.Voorraad); } }
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); } }
public async Task GetAllArtikelenReturnsAll() { var artikel = new Artikel { AfbeeldingUrl = "Afbeelding.jpg", Artikelnummer = 1, Beschrijving = "Grote fiets voor iedereen", Leverancier = "Fietsen bv", Leveranciercode = "1", LeverbaarTot = new DateTime(2019, 8, 8), LeverbaarVanaf = new DateTime(2017, 3, 3), Naam = "Fiets", Prijs = 299.3m }; var artikel2 = new Artikel { AfbeeldingUrl = "Afbeelding.jpg", Artikelnummer = 2, Beschrijving = "Ultra zacht zadel voor de meest comfortabele fietstocht", Leverancier = "FietszadelsWinkel", Leveranciercode = "3", LeverbaarTot = new DateTime(2019, 8, 8), LeverbaarVanaf = new DateTime(2017, 3, 3), Naam = "Zadel", Prijs = 19.49m }; using (var context = new WebshopContext(options)) { var dataMapper = new ArtikelDatamapper(context); dataMapper.Insert(artikel); dataMapper.Insert(artikel2); } using (var context = new WebshopContext(options)) { var dataMapper = new ArtikelDatamapper(context); var artikelen = await dataMapper.GetAll(); Assert.AreEqual(2, artikelen.Count); Assert.IsTrue(artikelen.Any(a => a.Artikelnummer == 2 && a.Naam == "Zadel" && a.PrijsWithBtw == 23.58m)); Assert.IsTrue(artikelen.Any(a => a.Artikelnummer == 1 && a.Naam == "Fiets" && a.PrijsWithBtw == 362.15m)); } }
public async Task getAllArtikelenReturnsAll() { 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 }; using (var context = new BeheerContext(_options)) { var dataMapper = new ArtikelDatamapper(context); dataMapper.Insert(artikel); dataMapper.Insert(artikel2); } using (var context = new BeheerContext(_options)) { var dataMapper = new ArtikelDatamapper(context); var all = await dataMapper.GetAll(); Assert.AreEqual(2, all.Count); Assert.IsTrue(all.Any(a => a.Naam == "Fiets Groot")); } }
public void GivenDatErEenBestellingVanIsGeplaatst(decimal totaalBedrag) { connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); options = new DbContextOptionsBuilder <BeheerContext>() .UseSqlite(connection) .Options; using (var context = new BeheerContext(options)) { context.Database.EnsureCreated(); } artikel = new Artikel { Artikelnummer = 1, Beschrijving = "Test beschrijving", LeverbaarTot = new DateTime(2019, 01, 22), LeverbaarVanaf = new DateTime(2019, 01, 21), Naam = "Fiets", Prijs = (totaalBedrag / 1.21M), Voorraad = 10 }; using (var context = new BeheerContext(options)) { ArtikelDatamapper artikelDatamapper = new ArtikelDatamapper(context); artikelDatamapper.Insert(artikel); } bestelling = new NieuweBestellingCommand { KlantId = "1", AdresRegel1 = "Laagstraat 11", Plaats = "Laaghoven", Postcode = "1234FG", BesteldeArtikelen = new List <BestellingItem> { new BestellingItem(1, 1) } }; }
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(); }