public void UpdateCollectionTest() { //arrange var collectionResult = new ShopTimeResult(); var collectionTask = Task.FromResult<IResult>(collectionResult); _collectionServiceMock.Setup(x => x.UpdateCollectionAsync(It.Is<Collection>(obj => obj.Id == 8))).Returns(collectionTask); var notFoundResult = new ShopTimeResult() { Error = new Error() { CodeNumber = 404 } }; var notFoundTask = Task.FromResult<IResult>(notFoundResult); _collectionServiceMock.Setup(x => x.UpdateCollectionAsync(It.Is<Collection>(obj => obj.Id == 99))).Returns(notFoundTask); var badResult = new ShopTimeResult<int> { Error = new Error() }; var badTask = Task.FromResult<IResult>(badResult); _collectionServiceMock.Setup(x => x.UpdateCollectionAsync(It.Is<Collection>(obj => obj.Id == 4))).Returns(badTask); var collectionsController = new CollectionsV1Controller(_collectionServiceMock.Object); //act var collectionModel = new CollectionModel("DisplayName_Men", "men"); collectionModel.Id = 323; var newCollection = Mapper.Map<Collection>(collectionModel); //ok result var actionResult = collectionsController.UpdateCollectionAsync(8, collectionModel).Result; actionResult.Should().BeOfType<OkResult>(); //result not found test actionResult = collectionsController.UpdateCollectionAsync(99, collectionModel).Result; actionResult.Should().BeOfType<NotFoundResult>(); //bad request actionResult = collectionsController.UpdateCollectionAsync(4, collectionModel).Result; actionResult.Should().BeOfType<BadRequestResult>(); }
public async Task<IHttpActionResult> UpdateCollectionAsync(int collectionId, CollectionModel value) { if (!ModelState.IsValid) { return BadRequest(ModelState); } IHttpActionResult result = null; value.Id = collectionId; var collection = Mapper.Map<Collection>(value); await _collectionService.UpdateCollectionAsync(collection) .Success(() => result = Ok()) .Error(err => { switch (err.CodeNumber) { case 404: result = NotFound(); break; default: result = BadRequest(); break; } }); return result; }
public void CreateCollection() { var createCollectionResult = new ShopTimeResult<int>(13); var createTask = Task.FromResult<IResult<int>>(createCollectionResult); _collectionServiceMock.Setup(x => x.CreateCollectionAsync(It.IsAny<Collection>())).Returns(createTask); var collectionModel = new CollectionModel("DisplayName_Men", "men") { Image = new ImageModel() { Attachment = "base64", FileName = "abc.jpg"} }; var newCollection = Mapper.Map<Collection>(collectionModel); newCollection.Id = 13; var collectionsController = new CollectionsV1Controller(_collectionServiceMock.Object); var badResult = collectionsController.CreateCollectionAsync(collectionModel).Result; badResult.Should().BeOfType<BadRequestErrorMessageResult>("attachment is invalid."); collectionModel.Image.Attachment = new ImageHelper().GetBase64(); var actionResult = collectionsController.CreateCollectionAsync(collectionModel); var response = actionResult.Result as CreatedAtRouteNegotiatedContentResult<int>; response.Content.Should().Be(13); response.RouteName.Should().Be("GetCollectionById"); response.RouteValues["collectionId"].Should().Be(13); _collectionServiceMock.VerifyAll(); }
public async Task<IHttpActionResult> CreateCollectionAsync(CollectionModel source) { if (!ModelState.IsValid) { return BadRequest(ModelState); } IHttpActionResult result = null; var collection = Mapper.Map<Collection>(source); if (source.Image != null && source.Image.Attachment.IsNullOrWhiteSpace() == false && source.Image.Attachment.IsBase64String() == false) { return BadRequest("image attachment is not valid."); } _collectionService.CreateCollectionAsync(collection) .Success(collectionId => { result = CreatedAtRoute("GetCollectionById", new { collectionId = collectionId }, collectionId); }) .Error(err => result = BadRequest()); //save image file if (source.Image != null && source.Image.Attachment.IsNullOrWhiteSpace() == false) { string fileName = Guid.NewGuid().ToString("N"); IFileInfo imageFile = new VirutalFile(fileName, source.Image.Attachment); _storageService.SaveFile("/collection/{0}/", imageFile); } return result; }