コード例 #1
0
        public async Task ShouldBeReturned_SuccessAuthResponse_IfCredentialsIsValid()
        {
            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri,
                                            _authorLoginRequest);

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            (await response.Content.ReadAsAsync <AuthSuccessResponse>())
            .Token.Should().NotBeNullOrEmpty();

            _output.WriteLine($"Valor entrada: {JObject.FromObject(_authorLoginRequest)} | Resultado teste: {response.StatusCode}");
        }
コード例 #2
0
        public async Task ShouldBeReturned_SuccessResetPasswordResponse()
        {
            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri,
                                            _authorResetPasswordRequest);

            var content = await response.Content
                          .ReadAsAsync <ResetPasswordSuccessResponse>();

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            content.Reseted.Should().BeTrue();
            content.SuccessMessage.Should()
            .Be("Senha redefinida com sucesso");
        }
コード例 #3
0
ファイル: LoginTest.cs プロジェクト: leoguilen/matchday-app
        public async Task Login_AuthenticationController_RespostaComSucessoEUsuarioRecebeTokenDeAcesso()
        {
            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri, _loginRequest);

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            var authResponse = await response.Content.ReadAsAsync <AutenticacaoComSucessoResponse>();

            authResponse.Mensagem.Should().Be(Dicionario.MS001);
            authResponse.Token.Should().NotBeNullOrEmpty();
            authResponse.Usuario.Email.Should().Be(_loginRequest.Email);

            Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_loginRequest)} 
                              | Resultado teste: {response.StatusCode}");
        }
コード例 #4
0
        public async Task ShouldBeReturned_FailerAuthResponse_IfEmailIsInvalid()
        {
            _authorLoginRequest.Email = _faker.Person.Email;

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri,
                                            _authorLoginRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            (await response.Content.ReadAsAsync <AuthFailedResponse>())
            .Errors.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new[] { "Author does not exist" });

            _output.WriteLine($"Valor entrada: {_authorLoginRequest.Email} | Resultado teste: {response.StatusCode}");
        }
コード例 #5
0
        public async Task ShouldBeReturned_FailerAuthResponse_IfPasswordIsInvalid()
        {
            _authorLoginRequest.Password = _faker.Internet.Password();

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri,
                                            _authorLoginRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            (await response.Content.ReadAsAsync <AuthFailedResponse>())
            .Errors.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new[] { "Email/password combination is invalid" });

            _output.WriteLine($"Valor entrada: {_authorLoginRequest.Password} | Resultado teste: {response.StatusCode}");
        }
コード例 #6
0
        public async Task ShouldBeReturned_FailedResponse_IfAlreadyExistsEqualsEmail(string alreadyRegisteredEmail)
        {
            _authorRegistrationhorRequest.Email = alreadyRegisteredEmail;

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri,
                                            _authorRegistrationhorRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            (await response.Content.ReadAsAsync <AuthFailedResponse>())
            .Errors.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new[] { "Author with this email already exists" });

            _output.WriteLine($"Valor entrada: {alreadyRegisteredEmail} | Resultado teste: {response.StatusCode}");
        }
コード例 #7
0
        public async Task ResetarSenha_AutenticacaoController_RespostaComFalhaSeEmailNaoExiste()
        {
            _resetarSenhaRequest.Email = Faker.Person.Email;

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri, _resetarSenhaRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            var authResponse = await response.Content
                               .ReadAsAsync <AutenticacaoComFalhaResponse>();

            authResponse.Mensagem.Should()
            .Be(Dicionario.ME001);

            Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_resetarSenhaRequest)} 
                              | Resultado teste: {response.StatusCode}");
        }
コード例 #8
0
        public async Task ResetarSenha_AutenticacaoController_RespostaDeSucessoESenhaDoUsuarioResetada()
        {
            _resetarSenhaRequest.Email = "*****@*****.**";

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri, _resetarSenhaRequest);

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            var authResponse = await response.Content
                               .ReadAsAsync <AutenticacaoComSucessoResponse>();

            authResponse.Mensagem.Should()
            .Be(Dicionario.MS002);

            Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_resetarSenhaRequest)} 
                              | Resultado teste: {response.StatusCode}");
        }
コード例 #9
0
        public async Task RegistrarUsuario_AutenticacaoController_RespostaComFalhaSeNomeTiverCaracteresEspeciaisOuNumeros()
        {
            _registrarUsuarioRequest.Nome = Faker.Random.String2(5, 10, chars: "abc123#@$");

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri, _registrarUsuarioRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            var authResponse = await response.Content
                               .ReadAsAsync <AutenticacaoComFalhaResponse>();

            authResponse.Errors.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new[] { Dicionario.MV009 });

            Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_registrarUsuarioRequest)} 
                              | Resultado teste: {response.StatusCode}");
        }
コード例 #10
0
        public async Task RegistrarUsuario_AutenticacaoController_RespostaComFalhaSeNomeEhNuloOuVazio(string nomeInvalido)
        {
            _registrarUsuarioRequest.Nome = nomeInvalido;

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri, _registrarUsuarioRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            var authResponse = await response.Content
                               .ReadAsAsync <AutenticacaoComFalhaResponse>();

            authResponse.Errors.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new[] { Dicionario.MV005 });

            Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_registrarUsuarioRequest)} 
                              | Resultado teste: {response.StatusCode}");
        }
コード例 #11
0
        public async Task RegistrarUsuario_AutenticacaoController_RespostaComFalhaSeSobrenomePossuirMenosDe4Caracteres()
        {
            _registrarUsuarioRequest.Sobrenome = Faker.Random.String2(1, 3);

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri, _registrarUsuarioRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            var authResponse = await response.Content
                               .ReadAsAsync <AutenticacaoComFalhaResponse>();

            authResponse.Errors.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new[] { Dicionario.MV008 });

            Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_registrarUsuarioRequest)} 
                              | Resultado teste: {response.StatusCode}");
        }
コード例 #12
0
        public async Task ShouldBeReturned_SuccessResponse_AndRegisterNewTag()
        {
            await AuthenticateAsync();

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri,
                                            _createTagRequest);

            _output.WriteLine($"Response: {await response.Content.ReadAsStringAsync()}");

            response.StatusCode.Should().Be(HttpStatusCode.Created);
            (await response.Content.ReadAsAsync <Response <TagResponse> >())
            .Data.Should().BeEquivalentTo(new Response <TagResponse>(
                                              new TagResponse
            {
                Name = _createTagRequest.Name
            }), x => x.ExcludingMissingMembers());
        }
コード例 #13
0
        public async Task ResetarSenha_AutenticacaoController_RespostaComFalhaSeSenhaEhNulaOuVazia(string senhaInvalida)
        {
            _resetarSenhaRequest.Senha = senhaInvalida;

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri, _resetarSenhaRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            var authResponse = await response.Content
                               .ReadAsAsync <AutenticacaoComFalhaResponse>();

            authResponse.Errors.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new[] { Dicionario.MV013 });

            Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_resetarSenhaRequest)} 
                              | Resultado teste: {response.StatusCode}");
        }
コード例 #14
0
        public async Task ResetarSenha_AutenticacaoController_RespostaComFalhaSeConfirmacaoDeSenhaNaoForIgualASenha()
        {
            _resetarSenhaRequest.ConfirmacaoSenha = Faker.Internet.Password();

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri, _resetarSenhaRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            var authResponse = await response.Content
                               .ReadAsAsync <AutenticacaoComFalhaResponse>();

            authResponse.Errors.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new[] { Dicionario.MV015 });

            Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_resetarSenhaRequest)} 
                              | Resultado teste: {response.StatusCode}");
        }
コード例 #15
0
ファイル: LoginTest.cs プロジェクト: leoguilen/matchday-app
        public async Task Login_AutenticacaoController_RespostaComFalhaQuandoSenhaEhInvalida()
        {
            _loginRequest.Senha = Faker.Internet.Password();

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri, _loginRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            var authResponse = await response.Content
                               .ReadAsAsync <AutenticacaoComFalhaResponse>();

            authResponse.Mensagem.Should()
            .Be(Dicionario.ME004);
            authResponse.Errors.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new[] { Dicionario.MV002 });

            Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_loginRequest)} 
                              | Resultado teste: {response.StatusCode}");
        }
コード例 #16
0
        public async Task ResetarSenha_AutenticacaoController_RespostaComFalhaSeSenhaNaoCorresponderComPadraoForte()
        {
            var invalidPassword = Faker.Random.String2(10, 14);

            _resetarSenhaRequest.Senha            = invalidPassword;
            _resetarSenhaRequest.ConfirmacaoSenha = invalidPassword;

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri, _resetarSenhaRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            var authResponse = await response.Content
                               .ReadAsAsync <AutenticacaoComFalhaResponse>();

            authResponse.Errors.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new[] { Dicionario.MV014 });

            Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_resetarSenhaRequest)} 
                              | Resultado teste: {response.StatusCode}");
        }
コード例 #17
0
        public async Task RegistrarUsuario_AutenticacaoController_RespostaComFalhaSeEmailJaExiste()
        {
            var existingEmail = "*****@*****.**";

            _registrarUsuarioRequest.Email = existingEmail;

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri, _registrarUsuarioRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            var authResponse = await response.Content
                               .ReadAsAsync <AutenticacaoComFalhaResponse>();

            authResponse.Mensagem.Should().Be(Dicionario.ME005);
            authResponse.Errors.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new[] { Dicionario.MV003 });

            Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_registrarUsuarioRequest)} 
                              | Resultado teste: {response.StatusCode}");
        }
コード例 #18
0
        public async Task ShouldBeReturned_SuccessResponse_AndRegisterNewPost()
        {
            await AuthenticateAsync();

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri,
                                            _createPostRequest);

            _output.WriteLine($"Response: {await response.Content.ReadAsStringAsync()}");

            response.StatusCode.Should().Be(HttpStatusCode.Created);
            (await response.Content.ReadAsAsync <Response <PostResponse> >())
            .Data.Should().BeEquivalentTo(new Response <PostResponse>(
                                              new PostResponse
            {
                Title       = _createPostRequest.Title,
                Content     = _createPostRequest.Content,
                Attachments = _createPostRequest.Attachments,
                AuthorId    = Guid.Parse("9ab3d110-71e1-418f-86eb-519146e7d702")
            }), x => x.ExcludingMissingMembers());
        }
コード例 #19
0
        public async Task ShouldBeReturned_ErrorResponse_IfUsernameFieldIsNotValidated()
        {
            _authorRegistrationhorRequest.Username = string.Empty;

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri,
                                            _authorRegistrationhorRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);

            var content = await response.Content.ReadAsStringAsync();

            JObject jContent = JObject.Parse(content);

            jContent.Value <string>("title").Should()
            .Be("One or more validation errors occurred.");
            jContent.GetValue("errors")["Username"].HasValues.Should()
            .BeTrue();

            _output.WriteLine($"Resultado teste: {jContent.GetValue("errors")["Username"].First}");
        }
コード例 #20
0
        public async Task ShouldBeReturned_FailedAuthResponse_IfPasswordNotMatchThePatterns()
        {
            _authorResetPasswordRequest.NewPassword = _faker.Random.AlphaNumeric(10);

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri,
                                            _authorResetPasswordRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);

            var content = await response.Content.ReadAsStringAsync();

            JObject jContent = JObject.Parse(content);

            jContent.Value <string>("title").Should()
            .Be("One or more validation errors occurred.");
            jContent.GetValue("errors")["NewPassword"].HasValues.Should()
            .BeTrue();

            _output.WriteLine($"Valor entrada: {_authorResetPasswordRequest.NewPassword} | Resultado teste: {response.StatusCode}");
        }
コード例 #21
0
        public async Task ShouldBeReturned_ErrorResponse_IfTitleIsNotValidated()
        {
            await AuthenticateAsync();

            _createPostRequest.Title = _faker.Random.String2(51, 100);

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri,
                                            _createPostRequest);

            _output.WriteLine($"Response: {await response.Content.ReadAsStringAsync()}");

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);

            var content = await response.Content.ReadAsStringAsync();

            JObject jContent = JObject.Parse(content);

            jContent.Value <string>("title").Should()
            .Be("One or more validation errors occurred.");
            jContent.GetValue("errors")["Title"].HasValues.Should()
            .BeTrue();
        }
コード例 #22
0
        public async Task ShouldBeReturned_ErrorResponse_IfEmailFieldIsNotValidated()
        {
            var invalidEmail = _faker.Random.String2(10, 20);

            _authorRegistrationhorRequest.Email = invalidEmail;

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri,
                                            _authorRegistrationhorRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);

            var content = await response.Content.ReadAsStringAsync();

            JObject jContent = JObject.Parse(content);

            jContent.Value <string>("title").Should()
            .Be("One or more validation errors occurred.");
            jContent.GetValue("errors")["Email"].HasValues.Should()
            .BeTrue();

            _output.WriteLine($"Valor entrada: {invalidEmail} | Resultado teste: {jContent.GetValue("errors")["Email"].First}");
        }
コード例 #23
0
ファイル: LoginTest.cs プロジェクト: leoguilen/matchday-app
        public async Task Login_AuthenticationController_RespostaComFalhaQuandoUsuarioEstaDeletado()
        {
            var loginUserDeletedRequest = new LoginRequest
            {
                Email = "*****@*****.**",
                Senha = "test123"
            };

            var response = await HttpClientTest
                           .PostAsJsonAsync(_requestUri, loginUserDeletedRequest);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
            var authResponse = await response.Content
                               .ReadAsAsync <AutenticacaoComFalhaResponse>();

            authResponse.Mensagem.Should()
            .Be(Dicionario.ME004);
            authResponse.Errors.Should()
            .HaveCount(1).And
            .BeEquivalentTo(new[] { Dicionario.MV001 });

            Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_loginRequest)} 
                              | Resultado teste: {response.StatusCode}");
        }