示例#1
0
        public async Task Put_NonExistingId_ReturnsNotFound()
        {
            const int NonExistingId = 999999;

            // Arrange
            var client = _factory.CreateClient();

            // Act
            var user = new DTOs.RandomUserForUpdateDto {
                Email = "*****@*****.**",
                Name  = new NameDto {
                    Title = "Mr",
                    First = "New",
                    Last  = "User",
                },
                DateOfBirth = new DateTime(1990, 1, 1),
                PhoneNumber = "(204)-997-2604",
            };

            var jsonString  = JsonSerializer.Serialize(user);
            var httpContent = new StringContent(jsonString, Encoding.UTF8, "application/json");
            var response    = await client.PutAsync($"/api/randomusers/{NonExistingId}", httpContent);

            // Assert
            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
示例#2
0
        public async Task Put_IllegalData_ReturnsUnprocessable()
        {
            // Arrange
            var client = _factory.CreateClient();

            // Act
            var ExistingId = await FirstExistingIdAsync();

            var user = new DTOs.RandomUserForUpdateDto {
                Name = new NameDto {
                    Title = "Mr",
                    First = "New",
                    Last  = "User",
                },
                DateOfBirth = new DateTime(1990, 1, 1),
                PhoneNumber = "(204)-997-2604",
            };

            var jsonString  = JsonSerializer.Serialize(user);
            var httpContent = new StringContent(jsonString, Encoding.UTF8, "application/json");
            var response    = await client.PutAsync($"/api/randomusers/{ExistingId}", httpContent);

            // Assert
            Assert.Equal(HttpStatusCode.UnprocessableEntity, response.StatusCode);
        }
示例#3
0
        public async void Put_UnsafeButIdempotent()
        {
            // Arrange
            var client = _factory.CreateClient();

            // Act
            var Existing = await FirstExistingAsync();

            var oldEmail = Existing.Email;

            var newEmail = $"{Guid.NewGuid()}@somemail.com";

            var updateValue = new DTOs.RandomUserForUpdateDto {
                Email = newEmail,
                Name  = new NameDto {
                    Title = "Mr",
                    First = "New",
                    Last  = "User",
                },
                DateOfBirth = new DateTime(1990, 1, 1),
                PhoneNumber = "(204)-997-2604",
            };

            var jsonString  = JsonSerializer.Serialize(updateValue);
            var httpContent = new StringContent(jsonString, Encoding.UTF8, "application/json");
            var response    = await client.PutAsync($"/api/randomusers/{Existing.Id}", httpContent);

            var responseAgain = await client.PutAsync($"/api/randomusers/{Existing.Id}", httpContent);

            // Assert
            Assert.Equal(HttpStatusCode.NoContent, response.StatusCode);
            Assert.Equal(HttpStatusCode.NoContent, responseAgain.StatusCode);

            var newValue = await GetExistingAsync(Existing.Id);

            Assert.NotEqual(newValue.Email, oldEmail);
            Assert.Equal(newValue.Email, newEmail);
        }