예제 #1
0
        public async Task ReplacePutReturnFailNotFound()
        {
            // Arrange

            var updateDto = new PetTestDto(2001, "xxxx", "descupdate");
            // Act
            var response = await _client.PutAsJsonAsync("/api/v2/pets", updateDto);

            // Assert
            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
예제 #2
0
        public async Task CreatePostReturnsCreatedAndOkModel()
        {
            // Arrange
            var newIdea = new PetTestDto(1000, "name1000", "desc1000");

            // Act
            var response = await _client.PostAsJsonAsync("/api/v2/pets", newIdea);

            // Assert
            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            var ideareturnDto = JsonConvert.DeserializeObject <PetTestDto>(await response.Content.ReadAsStringAsync());

            Assert.Equal(newIdea.Name, ideareturnDto.Name);
        }
예제 #3
0
        public async Task DeleteReturnsOkModel()
        {
            // Arrange
            var newIdea = new PetTestDto(2000, "name3000", "desc2000");
            await _client.PostAsJsonAsync("/api/v2/pets", newIdea);

            // Act
            var response = await _client.DeleteAsync("/api/v2/pets/" + newIdea.Name);

            // Assert
            response.EnsureSuccessStatusCode();
            var ideareturnDto = JsonConvert.DeserializeObject <PetTestDto>(await response.Content.ReadAsStringAsync());

            Assert.Equal(newIdea.Name, ideareturnDto.Name);
        }
예제 #4
0
        public async Task CreatePost_ErrorDuplicate()
        {
            // Arrange
            var newIdea = new PetTestDto(100, "name2", "desc2");
            await _client.PostAsJsonAsync("/api/v2/pets", newIdea);

            // Act
            var response = await _client.PostAsJsonAsync("/api/v2/pets", newIdea);

            // Assert
            Assert.NotEqual(HttpStatusCode.Created, response.StatusCode);
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
            //await response.Content.ReadAsStringAsync();
            //Assert.Equal(newIdea.Name, ideareturnDto.Name);
        }
예제 #5
0
        public async Task CreatePostReturnsBadRequestForMissingNameValue()
        {
            // Arrange
            var newIdea = new PetTestDto();

            // Act
            var response = await _client.PostAsJsonAsync("/api/v2/pets", newIdea);


            // Assert
            Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode);
            var errorDescription = await response.Content.ReadAsStringAsync();

            errorDescription.ShouldContain("field is required");
        }