예제 #1
0
        public async Task Should_Add_Url()
        {
            // Arrange
            var urlCreateDto = new UrlCreateBodyDto
            {
                Href       = "http://www.landesblasorchester.de",
                AnchorText = "Landesblasorchester Baden-Württemberg"
            };
            var expectedDto = new UrlDto()
            {
                Href       = urlCreateDto.Href,
                AnchorText = urlCreateDto.AnchorText,
                CreatedBy  = _staff.DisplayName,
                CreatedAt  = FakeDateTime.UtcNow
            };

            // Act
            HttpResponseMessage responseMessage = await _authenticatedServer
                                                  .CreateClient()
                                                  .AuthenticateWith(_staff)
                                                  .PostAsync(ApiEndpoints.ProjectsController.AddUrl(ProjectDtoData.HoorayForHollywood.Id), BuildStringContent(urlCreateDto));

            // Assert
            responseMessage.StatusCode.Should().Be(HttpStatusCode.Created);
            UrlDto result = await DeserializeResponseMessageAsync <UrlDto>(responseMessage);

            result.Should().BeEquivalentTo(expectedDto, opt => opt.Excluding(r => r.Id));
            result.Id.Should().NotBeEmpty();
            responseMessage.Headers.Location.AbsolutePath.Should().Be($"/{ApiEndpoints.UrlsController.Get(result.Id)}");
        }
예제 #2
0
        public async Task Should_Get_By_Id()
        {
            // Arrange
            UrlDto     expectedUrl = UrlDtoData.ArpaWebsite;
            HttpClient client      = _authenticatedServer.CreateClient().AuthenticateWith(_staff);

            // Act
            HttpResponseMessage responseMessage = await client
                                                  .GetAsync(ApiEndpoints.UrlsController.Get(expectedUrl.Id));

            // Assert
            responseMessage.StatusCode.Should().Be(HttpStatusCode.OK);
            UrlDto result = await DeserializeResponseMessageAsync <UrlDto>(responseMessage);

            result.Should().BeEquivalentTo(expectedUrl);
        }
예제 #3
0
        public async Task Should_Add_Role()
        {
            // Arrange
            UrlDto expectedDto = UrlDtoData.ArpaWebsite;

            expectedDto.Roles.Add(RoleDtoData.Performer);

            HttpClient client = _authenticatedServer.CreateClient().AuthenticateWith(_staff);

            HttpResponseMessage responseMessage = await client
                                                  .PostAsync(ApiEndpoints.UrlsController.AddRole(expectedDto.Id, RoleDtoData.Performer.Id), null);

            // Assert
            responseMessage.StatusCode.Should().Be(HttpStatusCode.OK);
            UrlDto result = await DeserializeResponseMessageAsync <UrlDto>(responseMessage);

            result.Should().BeEquivalentTo(expectedDto);
        }