public void ThenVerwerkEenBestellingInHetSysteemMetHetKlantnummerBesteldatumEnBestelregels() { var bestellingDataMapper = new BestellingDataMapper(_context); var artikelDataMapper = new ArtikelDataMapper(_context); var eventPublisherMock = new Mock <IEventPublisher>(MockBehavior.Strict); var commandSenderMock = new Mock <ICommandSender>(MockBehavior.Strict); var response = new ResponseCommandMessage(JsonConvert.SerializeObject(true), "type", "correlationId"); eventPublisherMock.Setup(p => p.Publish(It.IsAny <DomainEvent>())); commandSenderMock.Setup(sendr => sendr.SendCommandAsync(It.IsAny <RequestCommandMessage>())).ReturnsAsync(response); var controller = new BestellingController(bestellingDataMapper, artikelDataMapper, eventPublisherMock.Object, new LoggerFactory()); var bestelling = new BestellingCM { Klantnummer = _klantnummer, BestelRegels = new List <BestelRegelCM>() }; foreach (var regel in _bestelregels) { bestelling.BestelRegels.Add(new BestelRegelCM() { Artikelnummer = regel.Item1, Aantal = regel.Item5 }); } var result = controller.HandlePlaatsBestelling(new PlaatsBestellingCommand(bestelling, "")); eventPublisherMock.VerifyAll(); Assert.AreEqual(1, result); }
public async Task HandleUpdateBestelStatus_ShouldLowerStockWhenBestelStatusVerzonden() { // Arrange var artikel = new ArtikelBuilder() .SetArtikelNummer(1) .SetLeveranciercode("1-abc-xyz") .SetNaam("Fietsband") .SetPrijs(12.99m) .Create(); var existing = new Bestelling { Klantnummer = 1234, BestelStatus = BestelStatus.WordtIngepakt, ContactInfo = new ContactInfo(), Afleveradres = new Afleveradres(), BestelRegels = new List <BestelRegel> { new BestelRegel { Artikelnummer = 1, Aantal = 2 }, } }; var bestelStatusCommand = new UpdateBestelStatusCommand(1, BestelStatus.Verzonden, NameConstants.BestelServiceUpdateBestelStatusCommandQueue); _bestellingDataMapperMock.Setup(m => m.GetByFactuurnummer(1)).Returns(existing); _bestellingDataMapperMock.Setup(m => m.Update(It.IsAny <Bestelling>())); _eventPublisherMock.Setup(publisher => publisher.Publish(It.IsAny <DomainEvent>())); var response = new ResponseCommandMessage(JsonConvert.SerializeObject(true), "type", "correlationId"); _commandSenderMock.Setup(sendr => sendr.SendCommandAsync(It.Is <RequestCommandMessage>(cm => cm.RoutingKey == NameConstants.MagazijnServiceCommandQueue && cm.Type == NameConstants.MagazijnServiceHaalVoorraadUitMagazijnCommand ))).ReturnsAsync(response); // Act await _target.HandleUpdateBestelStatus(bestelStatusCommand); // Assert _nijnContextMock.VerifyAll(); _bestellingDataMapperMock.VerifyAll(); _eventPublisherMock.VerifyAll(); _commandSenderMock.VerifyAll(); }