コード例 #1
0
        public async Task ShouldBeReturned_PostResponse_IfAuthorIdExistsInDatabase()
        {
            var validId = Guid.Parse("b65afc54-d766-4377-8c89-22662582174e");
            var expectedPostResponse =
                new Response <PostResponse>(
                    new PostResponse
            {
                Id          = validId,
                Title       = "Post 1",
                Content     = "First post content",
                Attachments = "post1img1.jpg,post1img2.jpg",
                AuthorId    = Guid.Parse("d4182477-0823-4908-be1d-af808e594306")
            });

            await AuthenticateAsync();

            var response = await HttpClientTest.GetAsync(
                _requestUri.Replace("{postId}",
                                    validId.ToString()));

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

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            (await response.Content.ReadAsAsync <Response <PostResponse> >())
            .Data.Should()
            .NotBeNull().And
            .BeEquivalentTo(expectedPostResponse,
                            x => x.ExcludingMissingMembers());
        }
コード例 #2
0
        public async Task ShouldBeReturned_TagResponse_IfTagIdExistsInDatabase()
        {
            var validId             = Guid.Parse("5d5e9a28-7c3e-4c2a-8098-b866eab33e61");
            var expectedTagResponse =
                new Response <TagResponse>(
                    new TagResponse
            {
                Id   = validId,
                Name = "Tag_1"
            });

            await AuthenticateAsync();

            var response = await HttpClientTest.GetAsync(
                _requestUri.Replace("{tagId}",
                                    validId.ToString()));

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

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            (await response.Content.ReadAsAsync <Response <TagResponse> >())
            .Data.Should()
            .NotBeNull().And
            .BeEquivalentTo(expectedTagResponse,
                            x => x.ExcludingMissingMembers());
        }
コード例 #3
0
        public async Task ShouldBeReturned_AuthorResponse_IfAuthorIdExistsInDatabase()
        {
            var validId = Guid.Parse("9ab3d110-71e1-418f-86eb-519146e7d702");
            var expectedAuthorResponse =
                new Response <AuthorResponse>(
                    new AuthorResponse
            {
                Id        = validId,
                FirstName = "Maria",
                Email     = "*****@*****.**"
            });

            await AuthenticateAsync();

            var response = await HttpClientTest.GetAsync(
                _requestUri.Replace("{authorId}",
                                    validId.ToString()));

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

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            (await response.Content.ReadAsAsync <Response <AuthorResponse> >())
            .Data.Should()
            .NotBeNull().And
            .BeEquivalentTo(expectedAuthorResponse,
                            x => x.ExcludingMissingMembers());
        }
コード例 #4
0
        public async Task ShouldBeReturned_AllAuthors_InTheDatabase()
        {
            await AuthenticateAsync();

            var response = await HttpClientTest
                           .GetAsync(_requestUri);

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

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            (await response.Content.ReadAsAsync <PagedResponse <AuthorResponse> >())
            .Data.Should()
            .NotBeNullOrEmpty().And
            .SatisfyRespectively(
                author1 =>
            {
                author1.Id.Should().Be(Guid.Parse("d4182477-0823-4908-be1d-af808e594306"));
                author1.FirstName.Should().Be("João");
                author1.Email.Should().Be("*****@*****.**");
            },
                author2 =>
            {
                author2.Id.Should().Be(Guid.Parse("9ab3d110-71e1-418f-86eb-519146e7d702"));
                author2.FirstName.Should().Be("Maria");
                author2.Email.Should().Be("*****@*****.**");
            });
        }
コード例 #5
0
        public async Task ShouldBeReturned_AllPosts_InTheDatabase()
        {
            await AuthenticateAsync();

            var response = await HttpClientTest
                           .GetAsync(_requestUri);

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

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            (await response.Content.ReadAsAsync <PagedResponse <PostResponse> >())
            .Data.Should()
            .NotBeNullOrEmpty().And
            .SatisfyRespectively(
                post1 =>
            {
                post1.Id.Should().Be(Guid.Parse("b65afc54-d766-4377-8c89-22662582174e"));
                post1.Title.Should().Be("Post 1");
                post1.Content.Should().Be("First post content");
                post1.Attachments.Should().Be("post1img1.jpg,post1img2.jpg");
                post1.AuthorId.Should().Be(Guid.Parse("d4182477-0823-4908-be1d-af808e594306"));
            },
                post2 =>
            {
                post2.Id.Should().Be(Guid.Parse("a06ba60c-c999-4de3-aa23-4f0c13bd71ad"));
                post2.Title.Should().Be("Post 2");
                post2.Content.Should().Be("Second post content");
                post2.Attachments.Should().Be("post2img1.jpg,post2img2.jpg");
                post2.AuthorId.Should().Be(Guid.Parse("9ab3d110-71e1-418f-86eb-519146e7d702"));
            });
        }
コード例 #6
0
        public async Task ShouldBeReturned_AllTags_InTheDatabase()
        {
            await AuthenticateAsync();

            var response = await HttpClientTest
                           .GetAsync(_requestUri);

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

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            (await response.Content.ReadAsAsync <PagedResponse <TagResponse> >())
            .Data.Should()
            .NotBeNullOrEmpty().And
            .SatisfyRespectively(
                tag1 =>
            {
                tag1.Id.Should().Be(Guid.Parse("5d5e9a28-7c3e-4c2a-8098-b866eab33e61"));
                tag1.Name.Should().Be("Tag_1");
            },
                tag2 =>
            {
                tag2.Id.Should().Be(Guid.Parse("d94e6e00-96d0-4fc7-b621-c7746705b471"));
                tag2.Name.Should().Be("Tag_2");
            });
        }
コード例 #7
0
        public async Task ShouldBeReturned_NotFoundResponse_IfPostIdNotExistsInDatabase()
        {
            var randomId = Guid.NewGuid().ToString();

            await AuthenticateAsync();

            var response = await HttpClientTest.GetAsync(
                _requestUri.Replace("{postId}", randomId));

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

            response.StatusCode.Should().Be(HttpStatusCode.NotFound);
        }
コード例 #8
0
        public async Task ShouldBeReturned_SuccessResponse_AndDeleteTagInTheDatabase()
        {
            await AuthenticateAsync();

            var tagId = "5d5e9a28-7c3e-4c2a-8098-b866eab33e61";

            var response = await HttpClientTest.DeleteAsync(
                _requestUri.Replace("{tagId}", tagId));

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

            var deletedTagResponse = await HttpClientTest.GetAsync(
                ApiRoutes.Tags.Get.Replace("{tagId}", tagId));

            deletedTagResponse.StatusCode.Should().Be(HttpStatusCode.NotFound);
        }
コード例 #9
0
        public async Task ShouldBeReturned_SuccessResponse_AndDeleteAuthorInTheDatabase()
        {
            await AuthenticateAsync();

            var authorId = "d4182477-0823-4908-be1d-af808e594306";

            var response = await HttpClientTest.DeleteAsync(
                _requestUri.Replace("{authorId}", authorId));

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

            var deletedAuthorResponse = await HttpClientTest.GetAsync(
                ApiRoutes.Authors.Get.Replace("{authorId}", authorId));

            deletedAuthorResponse.StatusCode.Should().Be(HttpStatusCode.NotFound);
        }
コード例 #10
0
        public async Task ShouldBeReturned_SuccessResponse_AndDeletePostInTheDatabase()
        {
            await AuthenticateAsync();

            var postId = "a06ba60c-c999-4de3-aa23-4f0c13bd71ad";

            var response = await HttpClientTest.DeleteAsync(
                _requestUri.Replace("{postId}", postId));

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

            var deletedPostResponse = await HttpClientTest.GetAsync(
                ApiRoutes.Posts.Get.Replace("{postId}", postId));

            deletedPostResponse.StatusCode.Should().Be(HttpStatusCode.NotFound);
        }
コード例 #11
0
        //[Fact]
        public async Task Get_UserController_RetornaUsuárioPorId()
        {
            var userId = _memoryDb.Usuarios.Last().Id;

            await AuthenticateAsync();

            var response = await HttpClientTest
                           .GetAsync(_requestUri.Replace("{id}", userId.ToString()));

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            var userResponse = await response.Content
                               .ReadAsAsync <Response <UsuarioResponse> >();

            userResponse.Dados.Id.Should().Be(userId);
            userResponse.Dados.Username.Should().Be("test3");
            userResponse.Dados.Email.Should().Be("*****@*****.**");

            Output.WriteLine($"Response: {JsonSerializer.Serialize(userResponse)}");
        }
コード例 #12
0
        public async Task GetAll_UsuariosController_RetornaListaComTodosUsuariosDoSistema()
        {
            await AuthenticateAsync();

            var response = await HttpClientTest
                           .GetAsync(_requestUri);

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            var userResponse = await response.Content
                               .ReadAsAsync <PagedResponse <UsuarioResponse> >();

            userResponse.Dados.Should().SatisfyRespectively(
                user1 =>
            {
                user1.Username.Should().Be("test2");
                user1.Email.Should().Be("*****@*****.**");
            },
                user2 =>
            {
                user2.Username.Should().Be("test3");
                user2.Email.Should().Be("*****@*****.**");
            });
        }