public void SeConsultarUmaCidadeInexistentePorCodigoDeveRetornarNulo()
        {
            var factory     = new CidadeFactory();
            var consultador = factory.CriarConsultador();

            var cidade = consultador.ConsultarCidade(99);

            cidade
            .Should().BeNull();
        }
        public void SeConsultarTodasAsCidadesDeveEncontrarApenasOsRegistrosConfiguradosNaFactory()
        {
            var factory     = new CidadeFactory();
            var consultador = factory.CriarConsultador();

            consultador.ConsultarTodasAsCidades()
            .Should()
            .HaveCount(6);

            factory.Repositorio.Quantidade
            .Should().Be(0);
        }
        public void SeConsultarCidadeExistentePorCodigoDeveEncontrar()
        {
            var factory     = new CidadeFactory();
            var consultador = factory.CriarConsultador();

            var cidade = consultador.ConsultarCidade(1);

            cidade
            .Should().NotBeNull();

            cidade.Nome
            .Should().Be("Cuiabá");
        }
        public void SeNaoExistirUmaCidadeCadastradaDeveRetornarFalso()
        {
            var factory     = new CidadeFactory();
            var consultador = factory.CriarConsultador();

            var cidade = new Cidade()
            {
                Nome   = "Sinop",
                Estado = "MT"
            };

            consultador.ExisteCidadeCadastrada(cidade)
            .Should()
            .BeFalse();
        }
        public void SeExistirUmaCidadeCadastradaDeveRetornarVerdadeiro()
        {
            var factory     = new CidadeFactory();
            var consultador = factory.CriarConsultador();

            var cidade = new Cidade()
            {
                Nome   = "Cuiabá",
                Estado = "MT"
            };

            consultador.ExisteCidadeCadastrada(cidade)
            .Should()
            .BeTrue();
        }
예제 #6
0
        public void SeCadastrarUmaCidadeNaoDeveGerarErro()
        {
            var factory    = new CidadeFactory();
            var manutencao = factory.CriarManutencao();

            var cidade = new Cidade()
            {
                Nome   = "ABC do Zé",
                Estado = "MT"
            };

            Action cadastro = () => manutencao.Cadastrar(cidade);

            cadastro
            .Should().NotThrow();
        }
        public void SeNaoExistemClientesVinculadosDeveRetornarFalso()
        {
            var factory     = new CidadeFactory();
            var consultador = factory.CriarConsultador();

            factory.ExistemClientesVinculados(existe: false);

            var cidade = new Cidade()
            {
                Id     = 1,
                Nome   = "Cuiabá",
                Estado = "MT"
            };

            consultador.ExistemClientesVinculados(cidade)
            .Should()
            .BeFalse();
        }
예제 #8
0
        public void SeCadastrarUmaCidadeExistenteDeveGerarErro()
        {
            var factory     = new CidadeFactory();
            var consultador = factory.CriarConsultador();
            var manutencao  = factory.CriarManutencao();

            var cidade = new Cidade()
            {
                Nome   = "Cuiabá",
                Estado = "MT"
            };

            Action cadastro = () => manutencao.Cadastrar(cidade);

            cadastro
            .Should().Throw <Exception>()
            .WithMessage("Já existe uma cidade cadastrada com este nome!");
        }
예제 #9
0
        public void SeCadastrarUmaCidadeDeveSerPossivelConsultala()
        {
            var factory    = new CidadeFactory();
            var manutencao = factory.CriarManutencao();

            var cidade = new Cidade()
            {
                Nome   = "ABC do Zé",
                Estado = "MT"
            };

            factory.Repositorio.Quantidade
            .Should().Be(0);

            manutencao.Cadastrar(cidade);

            factory.Repositorio.Quantidade
            .Should().Be(1);
        }
예제 #10
0
        public void SeExcluirUmaCidadeExistenteComVinculoDeveGerarErro()
        {
            var factory     = new CidadeFactory();
            var consultador = factory.CriarConsultador();
            var manutencao  = factory.CriarManutencao();

            factory.ExistemClientesVinculados(existe: true);

            var cidade = consultador.ConsultarCidade(1);

            cidade
            .Should().NotBeNull();

            Action exclusao = () => manutencao.Excluir(cidade);

            exclusao
            .Should().Throw <Exception>()
            .WithMessage("Ainda existem clientes cadastrados para esta cidade!");
        }
예제 #11
0
        public void SeAlterarUmaCidadeExistenteDeveEntrarNaListaDeAtualizacao()
        {
            var factory     = new CidadeFactory();
            var consultador = factory.CriarConsultador();
            var manutencao  = factory.CriarManutencao();

            factory.Repositorio.Quantidade
            .Should().Be(0);

            var cidade = consultador.ConsultarCidade(1);

            cidade
            .Should().NotBeNull();

            cidade.Nome = "CuiabáX";

            manutencao.Atualizar(cidade);

            factory.Repositorio.Quantidade
            .Should().Be(1);
        }
예제 #12
0
        public void SeExcluirUmaCidadeExistenteSemVinculoDeveEntrarNaListaDeAtualizacao()
        {
            var factory     = new CidadeFactory();
            var consultador = factory.CriarConsultador();
            var manutencao  = factory.CriarManutencao();

            factory.Repositorio.Quantidade
            .Should().Be(0);

            factory.ExistemClientesVinculados(existe: false);

            var cidade = consultador.ConsultarCidade(1);

            cidade
            .Should().NotBeNull();

            manutencao.Excluir(cidade);

            factory.Repositorio.Quantidade
            .Should().Be(0);
        }
예제 #13
0
        public void SeAlterarUmaCidadeExistenteSemExecutarAConsultaDeveEntrarNaListaDeAtualizacao()
        {
            var factory    = new CidadeFactory();
            var manutencao = factory.CriarManutencao();

            factory.Repositorio.Quantidade
            .Should().Be(0);

            var cidade = new Cidade()
            {
                Id             = 1,
                Nome           = "CuiabáX",
                Estado         = "XX",
                EstadoEntidade = EstadosEntidade.Novo
            };

            manutencao.Atualizar(cidade);

            cidade.EstadoEntidade
            .Should().Be(EstadosEntidade.Modificado);

            factory.Repositorio.Quantidade
            .Should().Be(1);
        }