public async Task Should_AttachPictureProduct_ForNonExistingProduct_Returns404() { //arrange var command = GetCreateProductCommand(); await CreateProductAsync(command); var addPictureCommand = new AddPictureCommand { Description = "Picture from Wadowice", Url = "http://ubiquitous.com/api/product/picture/2137", MimeTypeId = MimeType.Jpg.Id, Filename = "Picture #1" }; //act var addPicturePath = PicturesController.AddPicture(); var addResponse = await Client.PostAsJsonAsync(addPicturePath, addPictureCommand); var postStringResult = await addResponse.Content.ReadAsStringAsync(); var pictureResult = JsonConvert.DeserializeObject <PictureViewModel>(postStringResult); var attachPictureToProduct = ProductController.AttachPicture(Guid.NewGuid(), pictureResult.Id); var attachResponse = await Client.PostAsJsonAsync(attachPictureToProduct, new {}); //assert attachResponse.StatusCode.Should().Be(HttpStatusCode.NotFound); }
public async Task <(Guid, Guid)> Should_AddPictureProduct_Returns200() { //arrange var addedPicture = await AddPicture(); var command = GetCreateProductCommand(); var createdProduct = await CreateProductAsync(command); //act var attachPictureToProduct = ProductController.AttachPicture(createdProduct.Id, addedPicture.Id); var attachResponse = await Client.PostAsJsonAsync(attachPictureToProduct, new {}); var getResponse = await GetProductAsync(createdProduct.Id); var stringResult = await getResponse.Content.ReadAsStringAsync(); var responseProduct = JsonConvert.DeserializeObject <ProductViewModel>(stringResult); //assert attachResponse.StatusCode.Should().Be(HttpStatusCode.OK); getResponse.StatusCode.Should().Be(HttpStatusCode.OK); command.Should().NotBeNull(); command.Name.Should().Be(createdProduct.Name); command.Description.Should().Be(createdProduct.Description); command.BarCode.Should().Be(createdProduct.BarCode); command.Price.Should().Be(createdProduct.Price); command.Dimensions.Should().Be(createdProduct.Dimensions); command.ManufacturerId.Should().Be(createdProduct.ManufacturerId); responseProduct.Id.Should().Be(createdProduct.Id); responseProduct.Name.Should().Be(createdProduct.Name); responseProduct.Description.Should().Be(createdProduct.Description); responseProduct.BarCode.Should().Be(createdProduct.BarCode); responseProduct.Price.Should().Be(createdProduct.Price); responseProduct.Dimensions.Should().Be(createdProduct.Dimensions); responseProduct.ManufacturerId.Should().Be(createdProduct.ManufacturerId); responseProduct.IsPublished.Should().BeFalse(); responseProduct.Pictures.Count.Should().Be(1); var picture = responseProduct.Pictures.First(); picture.Id.Should().NotBeEmpty(); picture.Description.Should().Be(addedPicture.Description); picture.Url.Should().Be(addedPicture.Url); picture.FileName.Should().Be(addedPicture.FileName); picture.MimeTypeId.Should().Be(addedPicture.MimeTypeId); return(responseProduct.Id, picture.Id); }