public async Task Student_Post_Should_Return_Student_Created() { // Arrange var client = new PrivateEndpointTestArranger(_factory).Arrange(); // Act var student = new Student { FirstMidName = "Marcelo", LastName = "Guimarães", EnrollmentDate = DateTime.Parse("2005-09-01") }; string json = JsonConvert.SerializeObject(student); var httpContent = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("/students", httpContent); var responseString = await response.Content.ReadAsStringAsync(); Student storedStudent = JsonConvert.DeserializeObject <Student>(responseString); // Assert Assert.True(HttpStatusCode.Created.Equals(response.StatusCode) && storedStudent.ID > 0); }
public async Task Student_Delete_Should_Create_Student_Delete_And_Return_204() { // Arrange var client = new PrivateEndpointTestArranger(_factory).Arrange(); // Act var student = new Student { FirstMidName = "StudentToBeDeleted", LastName = "WillBEDeleted", EnrollmentDate = DateTime.Parse("2005-09-01") }; string json = JsonConvert.SerializeObject(student); var httpContent = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("/students", httpContent); var responseString = await response.Content.ReadAsStringAsync(); Student storedStudent = JsonConvert.DeserializeObject <Student>(responseString); var deleteResponse = await client.DeleteAsync($"/students/{storedStudent.ID}"); // Assert Assert.Equal(HttpStatusCode.NoContent, deleteResponse.StatusCode); }