예제 #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)));
        }
        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>()));
        }
예제 #3
0
		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);
		}
예제 #4
0
        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);
        }
예제 #6
0
		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)));
		}