public void HandleVerWerkBetalingCommand_ShouldInsertNewBetalingAndPublishEvent() { // Arrange var queueName = "TestQueue"; var receiver = _nijnContext.CreateMessageReceiver(queueName, new List <string> { NameConstants.BetaalServiceBetalingGeaccrediteerdEvent }); receiver.DeclareQueue(); var betalingCM = new BetalingCM(1, 200); var command = new VerwerkBetalingCommand(betalingCM, NameConstants.BetaalServiceBetalingVerwerkenCommandQueue); // Act _target.HandleVerWerkBetalingCommand(command); // Assert var queue = _nijnContext.EventBus.Queues[queueName]; var bestellingResult = JsonConvert.DeserializeObject <BestellingGeaccrediteerdEvent>(queue[0].Message); Assert.AreEqual(1, queue.MessageQueueLength); Assert.AreEqual(1, bestellingResult.Factuurnummer); var dbResult = _dbContext.Betalingen.SingleOrDefault(b => b.Factuurnummer == 1); Assert.AreEqual(betalingCM.Bedrag, dbResult.Bedrag); Assert.AreEqual(betalingCM.Factuurnummer, dbResult.Factuurnummer); Assert.AreEqual(1, dbResult.Klantnummer); }
public void HandleBetalingGeaccrediteerdEvent_ShouldSetBestelStatusToGoedGekeurd() { var queueName = "TestQueue"; var receiver = _nijnContext.CreateMessageReceiver(queueName, new List <string> { NameConstants.BestelServiceBestelStatusUpgedateEvent }); receiver.DeclareQueue(); var request = new BestellingGeaccrediteerdEvent(1, NameConstants.BetaalServiceBetalingGeaccrediteerdEvent); _target.HandleBetalingGeaccrediteerdEvent(request); var queue = _nijnContext.EventBus.Queues[queueName]; var bestellingResult = JsonConvert.DeserializeObject <BestelStatusBijgewerktEvent>(queue[0].Message); Assert.AreEqual(1, queue.MessageQueueLength); Assert.AreEqual(1, bestellingResult.Bestelling.Factuurnummer); Assert.AreEqual(BestelStatus.Goedgekeurd, bestellingResult.Bestelling.BestelStatus); var dbResult = _dbContext.Bestellingen.SingleOrDefault(b => b.Id == 1); Assert.AreEqual(1, dbResult.Factuurnummer); Assert.AreEqual(BestelStatus.Goedgekeurd, dbResult.BestelStatus); }
public void ReceiveBestellingGeplaatstEvent_ShouldAddBestellingToDatabaseAndRaiseEvent() { // Arrange var queueName = "TestQueue"; var receiver = _nijnContext.CreateMessageReceiver(queueName, new List <string> { NameConstants.BetaalServiceBetalingGeaccrediteerdEvent }); receiver.DeclareQueue(); var bestelling = new CommonModels.DsBestelService.Models.Bestelling() { FactuurTotaalInclBtw = 400, BestelStatus = CommonModels.DsBestelService.Models.BestelStatus.Geplaatst, Factuurnummer = 3, Klantnummer = 1, Besteldatum = DateTime.Now.AddDays(-2) }; var request = new BestellingGeplaatstEvent(bestelling, NameConstants.BestelServiceBestellingGeplaatstEvent); // Act _target.ReceiveBestellingGeplaatstEvent(request); bestelling.Factuurnummer = 4; _target.ReceiveBestellingGeplaatstEvent(request); // Assert var queue = _nijnContext.EventBus.Queues[queueName]; var bestellingResult = JsonConvert.DeserializeObject <BestellingGeaccrediteerdEvent>(queue[0].Message); Assert.AreEqual(1, queue.MessageQueueLength); Assert.AreEqual(3, bestellingResult.Factuurnummer); var dbResult = _dbContext.Bestellingen.SingleOrDefault(b => b.Factuurnummer == 3); Assert.AreEqual(bestelling.FactuurTotaalInclBtw, dbResult.FactuurTotaalInclBtw); Assert.AreEqual(bestelling.BestelStatus.ToString(), dbResult.BestelStatus.ToString()); Assert.AreEqual(3, dbResult.Factuurnummer); Assert.AreEqual(bestelling.Klantnummer, dbResult.Klantnummer); Assert.AreEqual(bestelling.Besteldatum, dbResult.Besteldatum); }