Exemplo n.º 1
0
        public void save_to_repository()
        {
            // Arrange
            object dispatchedEvent = null;
            var    dispatcher      = new Action <object>((evt) =>
            {
                dispatchedEvent = evt;
            });

            var repository = new Repository(eventsDispatcher: dispatcher);

            string fname = repository.MakeAggregateStreamFileName(TestConfig.Id);

            if (File.Exists(fname))
            {
                File.Delete(fname);
            }

            var item = new AnagraficaArticolo();

            item.Censisci(TestConfig.Id, "001", "SSD Crucial M4 256GB", "NR", 100);

            // Act
            repository.Save(item);

            // Assert
            Assert.IsTrue(File.Exists(fname));
            Assert.IsNotNull(dispatchedEvent);
            Assert.IsTrue(dispatchedEvent is AnagraficaArticoloCensita);
        }
Exemplo n.º 2
0
        public void create_projections()
        {
            var projection = new SimpleEventStore.Query.AnagraficaArticolo();
            // Arrange
            var dispatcher = new Action <object>((evt) =>
            {
                var dispatchedEvent = evt as AnagraficaArticoloCensita;
                if (evt != null)
                {
                    projection.Code        = dispatchedEvent.Code;
                    projection.Description = dispatchedEvent.Description;
                }
            });

            var repository = new Repository(eventsDispatcher: dispatcher);

            var code        = "001";
            var description = "SSD Crucial M4 256GB";
            var item        = new AnagraficaArticolo();

            item.Censisci(TestConfig.Id, code, description, "NR", 100);

            // Act
            repository.Save(item);

            // Assert
            Assert.AreEqual(code, projection.Code);
            Assert.AreEqual(description, projection.Description);
        }
Exemplo n.º 3
0
        public void censisci_AnagraficaArticolo()
        {
            var item = new AnagraficaArticolo();

            item.Censisci(TestConfig.Id, "001", "SSD Crucial M4 256GB", "NR", 50);

            Assert.AreEqual(1, item.Events.Count);
        }
Exemplo n.º 4
0
        public void save_item_to_eventStream()
        {
            var item = new AnagraficaArticolo();

            item.Censisci(TestConfig.Id, "001", "SSD Crucial M4 256GB", "NR", 100);
            var stream = new EventStream();

            item.Save(stream);

            Assert.AreEqual(1, item.Version);
            Assert.AreEqual(1, stream.Events.Count);
        }
Exemplo n.º 5
0
        public void Scarica_diminuisce_la_GiacenzaAttuale_se_disponibile()
        {
            var stato = new AnagraficaArticolo.StatoAnagraficaArticolo()
            {
                Disabilitato    = false,
                GiacenzaAttuale = 20,
                ScortaMinima    = 20
            };
            var sut = new AnagraficaArticolo(stato);

            sut.Scarica(11);
            Assert.AreEqual(9, sut.stato.GiacenzaAttuale);
        }
Exemplo n.º 6
0
        public void Scarica_genera_eccezione_se_la_quantità_richiesta_non_è_in_giacenza()
        {
            var stato = new AnagraficaArticolo.StatoAnagraficaArticolo()
            {
                Disabilitato    = false,
                GiacenzaAttuale = 10,
                ScortaMinima    = 20
            };
            var sut = new AnagraficaArticolo(stato);

            Executing.This(() => sut.Scarica(11))
            .Should()
            .Throw <ArgumentException>()
            .And
            .ValueOf
            .ParamName
            .Should()
            .Be
            .EqualTo("quantitàDaScaricare");
        }