Esempio n. 1
0
        public async Task Modificar_Vigencia_Promocion_Error()
        {
            var createCommands = new CreatePromocionCommand[]
            {
                new CreatePromocionCommand()
                {
                    Bancos                = new string[] { "Galicia" },
                    MediosDePago          = new string[] { "EFECTIVO" },
                    CategoriasProductos   = new string[] { "ElectroCocina" },
                    PorcentajeDeDescuento = 30,
                    FechaInicio           = DateTime.Now.Date.AddDays(-2),
                    FechaFin              = DateTime.Now.Date.AddDays(1)
                },
                new CreatePromocionCommand()
                {
                    Bancos                = new string[] { "ICBC" },
                    MediosDePago          = new string[] { "EFECTIVO" },
                    CategoriasProductos   = new string[] { "Colchones" },
                    PorcentajeDeDescuento = 30,
                    FechaInicio           = DateTime.Now.Date,
                    FechaFin              = DateTime.Now.Date.AddDays(1)
                }
            };

            int    errors     = 0;
            string errorField = "";

            CreatePromocionCommandValidator valiator      = new CreatePromocionCommandValidator(_promocionRepositoryAsync, _mapper);
            CreatePromocionCommandHandler   createHandler = new CreatePromocionCommandHandler(_promocionRepositoryAsync, _mapper);

            foreach (var cmd in createCommands)
            {
                var validation = valiator.Validate(cmd);
                if (!validation.IsValid)
                {
                    errors++;
                    errorField = validation.Errors.First().PropertyName;
                }
                else
                {
                    await createHandler.Handle(cmd, default(CancellationToken));
                }
            }

            Assert.AreEqual(1, errors);
            Assert.AreEqual("Solapamiento", errorField);
        }
Esempio n. 2
0
        public void Crear_Promocion_Sin_Cuotas_Ni_Descuento_Error()
        {
            var command = new CreatePromocionCommand
            {
                Bancos              = new string[] { "Galicia" },
                MediosDePago        = new string[] { "EFECTIVO" },
                CategoriasProductos = new string[] { "ElectroCocina" },
                FechaInicio         = DateTime.Now.Date.AddDays(-1),
                FechaFin            = DateTime.Now.Date.AddDays(1)
            };

            CreatePromocionCommandValidator valiator = new CreatePromocionCommandValidator(_promocionRepositoryAsync, _mapper);
            var validation = valiator.Validate(command);

            Assert.IsFalse(validation.IsValid);
            Assert.AreEqual(validation.Errors.First().PropertyName, "CuotaODescuento");
        }
Esempio n. 3
0
        public void Crear_Promocion_Con_Fin_Menor_Inicio_Error()
        {
            var command = new CreatePromocionCommand
            {
                Bancos                = new string[] { "Galicia" },
                MediosDePago          = new string[] { "EFECTIVO" },
                CategoriasProductos   = new string[] { "ElectroCocina" },
                PorcentajeDeDescuento = 50,
                FechaInicio           = DateTime.Now.Date.AddDays(-1),
                FechaFin              = DateTime.Now.Date.AddDays(-2)
            };

            CreatePromocionCommandValidator valiator = new CreatePromocionCommandValidator(_promocionRepositoryAsync, _mapper);
            var validation = valiator.Validate(command);

            Assert.IsFalse(validation.IsValid);
            Assert.AreEqual(nameof(command.FechaFin), validation.Errors.First().PropertyName);
        }