Пример #1
0
        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)));
        }
Пример #2
0
        public async Task Handle_Korektno()
        {
            var nalogIzBaze = new NalogGlavnaKnjiga()
            {
                Id       = Guid.NewGuid(),
                Datum    = new DateTime(2018, 10, 20),
                TipNaziv = "Ulazne fakture",
                Opis     = "opis"
            };
            var fakeRepo = new Mock <INalogGKRepository>();

            fakeRepo.Setup(x => x.GetAsync(nalogIzBaze.Id)).ReturnsAsync(nalogIzBaze);
            var fakeTipRepo = new Mock <ITipNalogaRepository>();

            fakeTipRepo.Setup(x => x.GetAsync(2)).ReturnsAsync(new TipNaloga {
                Naziv = "Izvodi"
            });
            var fakeNotifications = new Mock <INotificationQueue>();
            var fakeLogger        = new Mock <ILogger <IzmenjenoZaglavljeNalogaHandler> >();
            var evnt = new IzmenjenoZaglavljeNaloga(nalogIzBaze.Id, new DateTime(2018, 10, 21), 2, "opis novi")
            {
                UserId = Guid.NewGuid().ToString()
            };
            var handler = new IzmenjenoZaglavljeNalogaHandler(fakeRepo.Object, fakeTipRepo.Object, fakeNotifications.Object, fakeLogger.Object);

            await handler.Handle(evnt, default);

            Assert.Equal(new DateTime(2018, 10, 21), nalogIzBaze.Datum);
            Assert.Equal("Izvodi", nalogIzBaze.TipNaziv);
            Assert.Equal("opis novi", nalogIzBaze.Opis);
            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 Handle(NalogOtvoren evnt, CancellationToken cancellationToken)
        {
            logger.LogTrace($"Handling IdNaloga: {evnt.IdNaloga}");
            var tip = await tipNalogaRepo.GetAsync(evnt.IdTip);

            NalogGlavnaKnjiga nalog = new NalogGlavnaKnjiga()
            {
                Id              = evnt.IdNaloga,
                Datum           = evnt.DatumNaloga,
                TipNaziv        = tip.Naziv,
                Opis            = evnt.Opis,
                BrojStavki      = 0,
                UkupnoDuguje    = 0,
                UkupnoPotrazuje = 0,
                UkupnoSaldo     = 0,
                Zakljucan       = false
            };

            nalogRepo.Add(nalog);
            notifications.Add(new GlavnaKnjigaChanged(evnt.UserId));
        }
Пример #5
0
        public async Task Handle_Korektno()
        {
            var nalogIzBaze = new NalogGlavnaKnjiga()
            {
                Id = Guid.NewGuid(),
            };
            var fakeRepo = new Mock <INalogGKRepository>();

            fakeRepo.Setup(x => x.GetAsync(nalogIzBaze.Id)).ReturnsAsync(nalogIzBaze);
            var fakeNotifications = new Mock <INotificationQueue>();
            var fakeLogger        = new Mock <ILogger <NalogObrisanHandler> >();
            var evnt = new NalogObrisan(nalogIzBaze.Id)
            {
                UserId = Guid.NewGuid().ToString()
            };
            var handler = new NalogObrisanHandler(fakeRepo.Object, fakeNotifications.Object, fakeLogger.Object);

            await handler.Handle(evnt, default);

            fakeRepo.Verify(x => x.Remove(nalogIzBaze));
            fakeNotifications.Verify(x => x.Add(It.Is <GlavnaKnjigaChanged>(n => n.UserId == evnt.UserId)));
        }
 public void Remove(NalogGlavnaKnjiga nalog)
 {
     context.NaloziGlavneKnjige.Remove(nalog);
 }
 public void Add(NalogGlavnaKnjiga nalog)
 {
     context.NaloziGlavneKnjige.Add(nalog);
 }