コード例 #1
0
        public async Task Get_ComIdEspecificado_DeveRetornarRegistroDesejado()
        {
            var login = await Utils.RealizarLogin(Client);

            var contato1 = new Contato(Guid.NewGuid(), "Teste", "*****@*****.**", new DateTime(2010, 12, 10));

            contato1.AtivarContato(Guid.NewGuid());
            contato1.AtribuirEndereco(new Endereco(Guid.NewGuid(), "Rua 1", "123", null, "bairro", "14778665", "cidade", "SP"));

            var contatoIdDesejado = Guid.NewGuid();

            var contato2 = new Contato(contatoIdDesejado, "Teste", "*****@*****.**", new DateTime(2010, 12, 10));

            contato2.AtivarContato(Guid.NewGuid());
            contato2.AtribuirEndereco(new Endereco(Guid.NewGuid(), "Rua 1", "123", null, "bairro", "14778665", "cidade", "SP"));

            TestMainContext.Add(contato1);
            TestMainContext.Add(contato2);
            TestMainContext.SaveChanges();

            var response = await Server
                           .CreateRequest($"api/contatos/{contatoIdDesejado}")
                           .AddHeader("Authorization", "Bearer " + login.access_token)
                           .GetAsync();

            response.EnsureSuccessStatusCode();

            var retorno = JsonConvert.DeserializeObject <ContatoDTO>(await response.Content.ReadAsStringAsync());

            Assert.NotNull(retorno);
            Assert.Equal(retorno.nome, contato2.Nome);
        }
コード例 #2
0
        public void Email_DeveTerEntre1e256CaracteresEDeveSerEmailValido(string email, string mensagemEsperada)
        {
            var contato = new Contato(Guid.NewGuid(), NOME_VALIDO, email, null);

            contato.AtribuirEndereco(_enderecoMock.Object);
            contato.AtribuirTelefone(_telefoneMock.Object);

            contato.EstaValido();

            AssertMensagemEsperada(mensagemEsperada, contato);
        }
コード例 #3
0
        public void Nome_DeveTerEntre2e150Caracteres(string nome, string mensagemEsperada)
        {
            var contato = new Contato(Guid.NewGuid(), nome, EMAIL_VALIDO, null);

            contato.AtribuirEndereco(_enderecoMock.Object);
            contato.AtribuirTelefone(_telefoneMock.Object);

            contato.EstaValido();

            AssertMensagemEsperada(mensagemEsperada, contato);
        }
コード例 #4
0
        public void Contato_DeveValidarEnderecoETelefonesSeHouver()
        {
            var contato = new Contato(Guid.NewGuid(), NOME_VALIDO, EMAIL_VALIDO, null);

            contato.AtribuirEndereco(_enderecoMock.Object);
            contato.AtribuirTelefone(_telefoneMock.Object);

            contato.EstaValido();

            _enderecoMock.Verify(x => x.EstaValido(), Times.Exactly(2));
            _telefoneMock.Verify(x => x.EstaValido(), Times.Exactly(2));
        }
コード例 #5
0
        public async Task Put_ContatoValido_DeveRetornar200()
        {
            var login = await Utils.RealizarLogin(Client);

            var contatoId  = Guid.NewGuid();
            var enderecoId = Guid.NewGuid();
            var ativadoPor = Guid.NewGuid();

            var contato = new Contato(contatoId, "Teste", "*****@*****.**", new DateTime(2010, 12, 10));

            contato.AtivarContato(ativadoPor);
            contato.AtribuirEndereco(new Endereco(enderecoId, "Rua 1", "123", null, "bairro", "14778665", "cidade", "SP"));

            TestMainContext.Add(contato);
            TestMainContext.SaveChanges();

            var contatoVM = new ContatoViewModel
            {
                Id         = contatoId,
                Nome       = "Alterado",
                Email      = "*****@*****.**",
                EnderecoId = enderecoId,
                AtivadoPor = ativadoPor,
                Endereco   = new EnderecoViewModel
                {
                    Id         = enderecoId,
                    Logradouro = "Rua 1",
                    Bairro     = "bairro",
                    CEP        = "14778665",
                    Cidade     = "cidade",
                    Estado     = "SP",
                    Numero     = "123"
                }
            };

            var response = await Server
                           .CreateRequest("api/contatos")
                           .AddHeader("Authorization", "Bearer " + login.access_token)
                           .And(req => req.Content = Utils.GerarRequestContent(contatoVM))
                           .SendAsync("PUT");

            response.EnsureSuccessStatusCode();

            var result = JsonConvert.DeserializeObject <ContatoJsonDTO>(await response.Content.ReadAsStringAsync());

            Assert.Equal(result.data.nome, contatoVM.Nome);
            Assert.NotEmpty(result.data.id);
            Assert.NotNull(result.data.id);
            Assert.NotEmpty(result.data.enderecoId);
            Assert.NotNull(result.data.enderecoId);
        }
コード例 #6
0
        public async Task Delete_ComIdExistente_DeveRetornar200()
        {
            var login = await Utils.RealizarLogin(Client);

            var contatoId = Guid.NewGuid();

            var contato = new Contato(contatoId, "Teste", "*****@*****.**", new DateTime(2010, 12, 10));

            contato.AtivarContato(Guid.NewGuid());
            contato.AtribuirEndereco(new Endereco(Guid.NewGuid(), "Rua 1", "123", null, "bairro", "14778665", "cidade", "SP"));

            TestMainContext.Add(contato);
            TestMainContext.SaveChanges();

            var response = await Server
                           .CreateRequest($"api/contatos/{contatoId}")
                           .AddHeader("Authorization", "Bearer " + login.access_token)
                           .SendAsync("DELETE");

            response.EnsureSuccessStatusCode();
        }
コード例 #7
0
        public async Task Get_SemEspecificarId_DeveRetornarTodosContatosAtivos()
        {
            var contato1 = new Contato(Guid.NewGuid(), "Teste", "*****@*****.**", new DateTime(2010, 12, 10));

            contato1.AtivarContato(Guid.NewGuid());
            contato1.AtribuirEndereco(new Endereco(Guid.NewGuid(), "Rua 1", "123", null, "bairro", "14778665", "cidade", "SP"));

            var contato2 = new Contato(Guid.NewGuid(), "Teste", "*****@*****.**", new DateTime(2010, 12, 10));

            contato2.AtribuirEndereco(new Endereco(Guid.NewGuid(), "Rua 1", "123", null, "bairro", "14778665", "cidade", "SP"));

            TestMainContext.Add(contato1);
            TestMainContext.Add(contato2);
            TestMainContext.SaveChanges();

            var response = await Client.GetAsync("api/contatos");

            response.EnsureSuccessStatusCode();

            var retorno = JsonConvert.DeserializeObject <List <ContatoDTO> >(await response.Content.ReadAsStringAsync());

            Assert.Equal(retorno.Count, 1);
            Assert.Contains(retorno, x => x.nome == contato1.Nome);
        }