Exemplo n.º 1
0
        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>();
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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;
        }