示例#1
0
        public void Alerta_AlertaAplicadoParaArmazenamento_False()
        {
            var alerta = new Domain.Entities.Alerta("Winchester", 20, CondicoesDeAlerta.Definir_Limite_Para_Armazenamento);
            var repo   = new Mock <IProdutoRepository>();

            repo.Setup(r => r.TotalDeProdutosPorArmazenamento(alerta.ValorCondicao)).Returns(18);

            var alertaSpecification = new AlertaAplicadoParaArmazenamentoValidation(repo.Object);

            Assert.False(alertaSpecification.Validate(alerta).IsValid);
        }
示例#2
0
        public void Alerta_DeveSerUnica_True()
        {
            var alerta = new Domain.Entities.Alerta("Winchester", 20, CondicoesDeAlerta.Definir_Limite_Para_Armazenamento);
            var repo   = new Mock <IAlertaRepository>();

            repo.Setup(r => r.RetornarPorDescricao(alerta.Descricao)).Returns((Domain.Entities.Alerta)null);

            var alertaSpecification = new AlertaDeveSerUnicoSpecification(repo.Object);

            Assert.True(alertaSpecification.IsSatisfiedBy(alerta));
        }
示例#3
0
        public void Alerta_AlertaAplicadoParaModelo_False()
        {
            var alerta = new Domain.Entities.Alerta("Winchester", 20, CondicoesDeAlerta.Definir_Limite_Por_Modelo);
            var repo   = new Mock <IProdutoRepository>();

            repo.Setup(r => r.TotalDeProdutosPorModelo(alerta.ValorCondicao)).Returns(18);

            var alertaSpecification = new AlertaAplicadoParaModeloSpecification(repo.Object);

            Assert.False(alertaSpecification.IsSatisfiedBy(alerta));
        }
示例#4
0
        public void Alerta_AlertaAplicadoPorTempoEmEstoque_True()
        {
            var alerta = new Domain.Entities.Alerta("Winchester", 20, CondicoesDeAlerta.Definir_Limite_Para_Valor_Mínimo);
            var repo   = new Mock <IProdutoRepository>();

            repo.Setup(r => r.TotalDeProdutosPorTempoEmEstoque(alerta.ValorCondicao)).Returns(22);

            var alertaSpecification = new AlertaAplicadoPorTempoEmEstoqueValidation(repo.Object);

            Assert.True(alertaSpecification.Validate(alerta).IsValid);
        }
示例#5
0
        public void Alerta_AlertaAplicadoParaTodosOsProdutos_False()
        {
            var alerta = new Domain.Entities.Alerta("Winchester", 20, CondicoesDeAlerta.Definir_Limite_Para_Todo_Estoque);
            var repo   = new Mock <IProdutoRepository>();

            repo.Setup(r => r.TotalDeProdutos()).Returns(18);

            var alertaSpecification = new AlertaAplicadoParaTodosOsProdutosValidation(repo.Object);

            Assert.False(alertaSpecification.Validate(alerta).IsValid);
        }
示例#6
0
        public void Alerta_AlertaAplicadoParaArmazenamento_True()
        {
            var alerta = new Domain.Entities.Alerta("Winchester", 20, CondicoesDeAlerta.Definir_Limite_Por_Marca);
            var repo   = new Mock <IProdutoRepository>();

            repo.Setup(r => r.TotalDeProdutosPorMarca(alerta.ValorCondicao)).Returns(22);

            var alertaSpecification = new AlertaAplicadoParaMarcaSpecification(repo.Object);

            Assert.True(alertaSpecification.IsSatisfiedBy(alerta));
        }
示例#7
0
        public void Alerta_AdicionarExistente_ValidarResultadoTrue()
        {
            var alerta = new Domain.Entities.Alerta("Winchester", 20, CondicoesDeAlerta.Definir_Limite_Para_Armazenamento);
            var repo   = new Mock <IAlertaRepository>();

            repo.Setup(r => r.RetornarPorDescricao(alerta.Descricao)).Returns((Domain.Entities.Alerta)null);

            var alertaValido = new AlertaAptoParaCadastroValidation(repo.Object);

            Assert.True(alertaValido.Validate(alerta).IsValid);
        }