public async Task InsertBestellingIntoDatabaseAndUpdate()
        {
            var bestelling = new Bestelling
            {
                Id                = 1,
                KlantId           = "1",
                AdresRegel1       = "Laagstraat 11",
                Plaats            = "Laaghoven",
                Postcode          = "1234FG",
                BestellingStatus  = BestellingStatus.TerControleVoorSales,
                BesteldeArtikelen = new List <BestellingItem>
                {
                    new BestellingItem(1, 3)
                    {
                        Id = 1
                    },
                    new BestellingItem(2, 5)
                    {
                        Id = 2
                    }
                }
            };

            using (var context = new WebshopContext(_options))
            {
                var mapper = new BestellingDatamapper(context);
                await mapper.Insert(bestelling);
            }

            using (var context = new WebshopContext(_options))
            {
                var mapper = new BestellingDatamapper(context);
                var result = await mapper.Get(1);

                Assert.AreEqual("1", result.KlantId);
                Assert.AreEqual("Laagstraat 11", result.AdresRegel1);
                Assert.AreEqual("Laaghoven", result.Plaats);
                Assert.AreEqual("1234FG", result.Postcode);
                Assert.AreEqual(2, result.BesteldeArtikelen.Count);
                Assert.IsTrue(result.BesteldeArtikelen.Any(b => b.Artikel.Naam == "Fiets" && b.Aantal == 3));

                result.BestellingStatus = BestellingStatus.GereedVoorBehandeling;
                using (var context2 = new WebshopContext(_options))
                {
                    var mapper2 = new BestellingDatamapper(context2);
                    await mapper2.Update(result);
                }
            }

            using (var context = new WebshopContext(_options))
            {
                var mapper = new BestellingDatamapper(context);
                var result = await mapper.Get(1);

                Assert.AreEqual(BestellingStatus.GereedVoorBehandeling, result.BestellingStatus);
            }
        }
        public async Task BestellingInpakkenGestart_ChangesBestellingStatus()
        {
            var bestelling = new Bestelling
            {
                Id                = 1,
                KlantId           = "1",
                AdresRegel1       = "Laagstraat 11",
                Plaats            = "Laaghoven",
                Postcode          = "1234FG",
                BestellingStatus  = BestellingStatus.GereedVoorBehandeling,
                BesteldeArtikelen = new List <BestellingItem>
                {
                    new BestellingItem(1, 3)
                    {
                        Id = 1
                    },
                    new BestellingItem(2, 5)
                    {
                        Id = 2
                    }
                }
            };

            var datamapperMock = new Mock <IBestellingDatamapper>(MockBehavior.Strict);

            datamapperMock.Setup(dm => dm.Get(bestelling.Id))
            .ReturnsAsync(bestelling)
            .Verifiable();

            datamapperMock.Setup(dm => dm.Update(It.Is <Bestelling>(b => b.Id == 1))).Returns(Task.CompletedTask)
            .Verifiable();

            var listener = new BestellingListener(datamapperMock.Object);

            await listener.BestellingInpakkenGestart(new BestellingInpakkenGestartEvent { Id = bestelling.Id });

            Assert.AreEqual(BestellingStatus.InBehandelingDoorMagazijn, bestelling.BestellingStatus);
        }
Exemple #3
0
 public async Task Update(Bestelling bestelling)
 {
     _context.Bestellingen.Update(bestelling);
     await _context.SaveChangesAsync();
 }
Exemple #4
0
 public async Task Insert(Bestelling bestelling)
 {
     _context.Bestellingen.Add(bestelling);
     await _context.SaveChangesAsync();
 }
        public async Task GetBestellingenAbove500EurAndNotAcceptedBySalesOnlyReturnsThose()
        {
            var bestellingBoven500 = new Bestelling
            {
                Id                = 1,
                KlantId           = "1",
                AdresRegel1       = "Laagstraat 11",
                Plaats            = "Laaghoven",
                Postcode          = "1234FG",
                BestellingStatus  = BestellingStatus.TerControleVoorSales,
                BesteldeArtikelen = new List <BestellingItem>
                {
                    new BestellingItem(2, 1)
                    {
                        Id = 1
                    }
                }
            };

            var bestellingOnder500 = new Bestelling
            {
                Id                = 2,
                KlantId           = "1",
                AdresRegel1       = "Laagstraat 11",
                Plaats            = "Laaghoven",
                Postcode          = "1234FG",
                BestellingStatus  = BestellingStatus.GereedVoorBehandeling,
                BesteldeArtikelen = new List <BestellingItem>
                {
                    new BestellingItem(1, 1)
                    {
                        Id = 2
                    }
                }
            };

            var bestellingBoven500GereedVoorBehandeling = new Bestelling
            {
                Id                = 3,
                KlantId           = "1",
                AdresRegel1       = "Laagstraat 11",
                Plaats            = "Laaghoven",
                Postcode          = "1234FG",
                BestellingStatus  = BestellingStatus.GereedVoorBehandeling,
                BesteldeArtikelen = new List <BestellingItem>
                {
                    new BestellingItem(2, 1)
                    {
                        Id = 3
                    }
                }
            };

            using (var context = new WebshopContext(_options))
            {
                var mapper = new BestellingDatamapper(context);
                await mapper.Insert(bestellingBoven500);

                await mapper.Insert(bestellingOnder500);

                await mapper.Insert(bestellingBoven500GereedVoorBehandeling);
            }

            using (var context = new WebshopContext(_options))
            {
                var mapper = new BestellingDatamapper(context);
                var result = await mapper.GetBestellingenBoven500() as List <Bestelling>;

                Assert.IsTrue(result.Any(b => b.Id == bestellingBoven500.Id));
                Assert.IsFalse(result.Any(b => b.Id == bestellingOnder500.Id));
                Assert.IsFalse(result.Any(b => b.Id == bestellingBoven500GereedVoorBehandeling.Id));
            }
        }