public async Task Should_Create() { // Arrange var createDto = new RegionCreateDto { Name = "Hawaii" }; var expectedDto = new RegionDto { Name = createDto.Name, CreatedBy = _staff.DisplayName, CreatedAt = FakeDateTime.UtcNow, ModifiedAt = null, ModifiedBy = null, }; // Act HttpResponseMessage responseMessage = await _authenticatedServer .CreateClient() .AuthenticateWith(_staff) .PostAsync(ApiEndpoints.RegionsController.Post(), BuildStringContent(createDto)); // Assert responseMessage.StatusCode.Should().Be(HttpStatusCode.Created); RegionDto result = await DeserializeResponseMessageAsync <RegionDto>(responseMessage); result.Should().BeEquivalentTo(expectedDto, opt => opt .Excluding(dto => dto.Id)); result.Id.Should().NotBeEmpty(); responseMessage.Headers.Location.AbsolutePath.Should().Be($"/{ApiEndpoints.RegionsController.Get(result.Id)}"); }
public void Should_Map() { // Arrange Region region = RegionSeedData.Berlin; RegionDto expectedDto = RegionDtoData.Berlin; // Act RegionDto dto = _mapper.Map <RegionDto>(region); // Assert dto.Should().BeEquivalentTo(expectedDto); }
public async Task Should_Get_ById() { // Arrange RegionDto expectedDto = RegionDtoData.Freiburg; // Act HttpResponseMessage responseMessage = await _authenticatedServer .CreateClient() .AuthenticateWith(_performer) .GetAsync(ApiEndpoints.RegionsController.Get(expectedDto.Id)); // Assert responseMessage.StatusCode.Should().Be(HttpStatusCode.OK); RegionDto result = await DeserializeResponseMessageAsync <RegionDto>(responseMessage); result.Should().BeEquivalentTo(expectedDto); }
public async Task Should_Modify() { // Arrange Region regionToModify = RegionSeedData.Berlin; var modifyDto = new RegionModifyBodyDto { Name = "Honolulu" }; var expectedDto = new RegionDto { Id = regionToModify.Id, Name = modifyDto.Name, CreatedBy = regionToModify.CreatedBy, CreatedAt = null, ModifiedAt = FakeDateTime.UtcNow, ModifiedBy = _staff.DisplayName, }; // Act HttpClient client = _authenticatedServer .CreateClient() .AuthenticateWith(_staff); HttpResponseMessage responseMessage = await client .PutAsync(ApiEndpoints.RegionsController.Put(regionToModify.Id), BuildStringContent(modifyDto)); // Assert responseMessage.StatusCode.Should().Be(HttpStatusCode.NoContent); HttpResponseMessage getMessage = await client .GetAsync(ApiEndpoints.RegionsController.Get(regionToModify.Id)); getMessage.StatusCode.Should().Be(HttpStatusCode.OK); RegionDto result = await DeserializeResponseMessageAsync <RegionDto>(getMessage); result.Should().BeEquivalentTo(expectedDto); }