public async Task Handle_Korektno(decimal duguje, decimal potrazuje) { int brojStavki = 7; decimal ukupnoDuguje = 400; decimal ukupnoPotrazuje = 700; decimal ukupnoSaldo = -300; var nalogIzBaze = new NalogGlavnaKnjiga() { Id = Guid.NewGuid(), BrojStavki = brojStavki, UkupnoDuguje = ukupnoDuguje, UkupnoPotrazuje = ukupnoPotrazuje, UkupnoSaldo = ukupnoSaldo }; var fakeRepo = new Mock <INalogGKRepository>(); fakeRepo.Setup(x => x.GetAsync(nalogIzBaze.Id)).ReturnsAsync(nalogIzBaze); var fakeNotifications = new Mock <INotificationQueue>(); var fakeLogger = new Mock <ILogger <StavkaProknjizenaHandler> >(); var evnt = new StavkaProknjizena(nalogIzBaze.Id, Guid.NewGuid(), new DateTime(2018, 10, 22), 1, duguje, potrazuje, "opis stavke") { UserId = Guid.NewGuid().ToString() }; var handler = new StavkaProknjizenaHandler(fakeRepo.Object, fakeNotifications.Object, fakeLogger.Object); await handler.Handle(evnt, default); Assert.Equal(brojStavki + 1, nalogIzBaze.BrojStavki); Assert.Equal(ukupnoDuguje + duguje, nalogIzBaze.UkupnoDuguje); Assert.Equal(ukupnoPotrazuje + potrazuje, nalogIzBaze.UkupnoPotrazuje); Assert.Equal(nalogIzBaze.UkupnoDuguje - nalogIzBaze.UkupnoPotrazuje, nalogIzBaze.UkupnoSaldo); fakeNotifications.Verify(x => x.Add(It.Is <GlavnaKnjigaChanged>(n => n.UserId == evnt.UserId))); }
public async Task Handle_Korektno(decimal duguje, decimal potrazuje) { var evnt = new StavkaProknjizena(Guid.NewGuid(), Guid.NewGuid(), new DateTime(2018, 10, 22), 1, duguje, potrazuje, "opis stavke"); var nalog = new NalogGlavnaKnjiga() { Id = evnt.IdNaloga, Datum = new DateTime(2018, 10, 22) }; var fakeRepo = new Mock <IKarticaKontaRepository>(); var fakeGkRepo = new Mock <INalogGKRepository>(); fakeGkRepo.Setup(x => x.GetAsync(evnt.IdNaloga)).ReturnsAsync(nalog); var fakeKontoRepo = new Mock <IKontoRepository>(); var konto = new Konto() { Id = evnt.IdKonto, Sifra = "410" }; fakeKontoRepo.Setup(x => x.GetAsync(evnt.IdKonto)).ReturnsAsync(konto); var fakeNotifications = new Mock <INotificationQueue>(); var fakeLogger = new Mock <ILogger <StavkaProknjizenaHandler> >(); var handler = new StavkaProknjizenaHandler(fakeRepo.Object, fakeKontoRepo.Object, fakeGkRepo.Object, fakeNotifications.Object, fakeLogger.Object); await handler.Handle(evnt, default); fakeRepo.Verify(x => x.Add(It.Is <KarticaKonta>(s => s.Id == evnt.IdStavke && s.IdNaloga == evnt.IdNaloga && s.IdKonto == evnt.IdKonto && s.Saldo == (evnt.Duguje - evnt.Potrazuje) && s.Duguje == evnt.Duguje && s.Potrazuje == evnt.Potrazuje && s.DatumNaloga == nalog.Datum && s.DatumKnjizenja == evnt.DatumKnjizenja && s.Created == evnt.Created && s.Konto == konto.Sifra))); fakeNotifications.Verify(x => x.Add(It.IsNotNull <KarticaKontaChanged>())); }
public async Task KontoNePostoji_Greska() { var fakeRepo = new Mock<IStavkaFormRepository>(); var fakeKontoRepo = new Mock<IKontoRepository>(); var fakeLogger = new Mock<ILogger<StavkaProknjizenaHandler>>(); var evnt = new StavkaProknjizena(Guid.NewGuid(), Guid.NewGuid(), new DateTime(2018, 10, 22), 1, 100, 0, "opis stavke"); var handler = new StavkaProknjizenaHandler(fakeRepo.Object, fakeKontoRepo.Object, fakeLogger.Object); Func<Task> handle = async () => await handler.Handle(evnt, default); await Assert.ThrowsAsync<PreglediException>(handle); }
public async Task NalogNePostoji_Greska() { var fakeRepo = new Mock <INalogGKRepository>(); var fakeNotifications = new Mock <INotificationQueue>(); var fakeLogger = new Mock <ILogger <StavkaProknjizenaHandler> >(); var evnt = new StavkaProknjizena(Guid.NewGuid(), Guid.NewGuid(), new DateTime(2018, 10, 22), 1, 100, 0, "opis stavke"); var handler = new StavkaProknjizenaHandler(fakeRepo.Object, fakeNotifications.Object, fakeLogger.Object); Func <Task> handle = async() => await handler.Handle(evnt, default); await Assert.ThrowsAsync <NalogNePostojiException>(handle); }
public async Task KontoNePostoji_Greska() { var evnt = new StavkaProknjizena(Guid.NewGuid(), Guid.NewGuid(), new DateTime(2018, 10, 22), 1, 100, 0, "opis stavke"); var fakeRepo = new Mock <IKarticaKontaRepository>(); var fakeGkRepo = new Mock <INalogGKRepository>(); fakeGkRepo.Setup(x => x.GetAsync(evnt.IdNaloga)).ReturnsAsync(new NalogGlavnaKnjiga()); var fakeKontoRepo = new Mock <IKontoRepository>(); var fakeNotifications = new Mock <INotificationQueue>(); var fakeLogger = new Mock <ILogger <StavkaProknjizenaHandler> >(); var handler = new StavkaProknjizenaHandler(fakeRepo.Object, fakeKontoRepo.Object, fakeGkRepo.Object, fakeNotifications.Object, fakeLogger.Object); Func <Task> handle = async() => await handler.Handle(evnt, default); await Assert.ThrowsAsync <PreglediException>(handle); }
public async Task Handle_Korektno(decimal duguje, decimal potrazuje) { var fakeRepo = new Mock<IStavkaFormRepository>(); var fakeKontoRepo = new Mock<IKontoRepository>(); fakeKontoRepo.Setup(x => x.GetAsync(1)).ReturnsAsync(new Konto() { Id = 1, Sifra = "435" }); var fakeLogger = new Mock<ILogger<StavkaProknjizenaHandler>>(); var evnt = new StavkaProknjizena(Guid.NewGuid(), Guid.NewGuid(), new DateTime(2018, 10, 22), 1, duguje, potrazuje, "opis stavke") { UserId = Guid.NewGuid().ToString() }; var handler = new StavkaProknjizenaHandler(fakeRepo.Object, fakeKontoRepo.Object, fakeLogger.Object); await handler.Handle(evnt, default); fakeRepo.Verify(x => x.Add(It.Is<StavkaForm>(n => n.Id == evnt.IdStavke && n.IdNaloga == evnt.IdNaloga && n.IdKonto == evnt.IdKonto && n.Konto == "435" && n.Opis == "opis stavke" && n.Duguje == evnt.Duguje && n.Potrazuje == n.Potrazuje && n.DatumKnjizenja == evnt.DatumKnjizenja))); }