public async Task UpdateNewsFeedSubscription_Ok()
        {
            NewsController controller = new NewsController(mapper, rssFeedProvider, subscriptionRepository);
            NewsFeedSubscriptionUpdateDTO feedSubscriptionDTO = new NewsFeedSubscriptionUpdateDTO()
            {
                Name = "new name",
                Url  = "newUrl.com"
            };
            NewsFeedSubscription feedSubscription = new NewsFeedSubscription()
            {
                Id   = 0,
                Name = "new name",
                Url  = "newUrl.com"
            };

            mapper.Map <NewsFeedSubscription>(feedSubscriptionDTO).Returns(feedSubscription);

            var result = await controller.UpdateNewsFeedSubscription(1, feedSubscriptionDTO);

            var okResult     = Assert.IsType <OkObjectResult>(result.Result);
            var resultObject = Assert.IsType <NewsFeedSubscription>(okResult.Value);

            Assert.Equal(1, resultObject.Id);
            Assert.Equal("new name", resultObject.Name);
            Assert.Equal("newUrl.com", resultObject.Url);
        }
        public async Task AddNewsFeedSubscription_Created()
        {
            NewsController controller = new NewsController(mapper, rssFeedProvider, subscriptionRepository);
            NewsFeedSubscriptionUpdateDTO feedSubscriptionDTO = new NewsFeedSubscriptionUpdateDTO()
            {
                Name = "new name",
                Url  = "newUrl.com"
            };
            NewsFeedSubscription feedSubscription = new NewsFeedSubscription()
            {
                Id   = 0,
                Name = "new name",
                Url  = "newUrl.com"
            };

            mapper.Map <NewsFeedSubscription>(feedSubscriptionDTO).Returns(feedSubscription);
            subscriptionRepository.When(x => x.AddAsync(feedSubscription))
            .Do(x => feedSubscription.Id = 5);

            var result = await controller.AddNewsFeedSubscription(feedSubscriptionDTO);

            var createdResult = Assert.IsType <CreatedAtActionResult>(result.Result);
            var resultObject  = Assert.IsType <NewsFeedSubscription>(createdResult.Value);

            Assert.Equal(5, resultObject.Id);
        }
Example #3
0
        public async Task <ActionResult <List <NewsFeedSubscription> > > AddNewsFeedSubscription([FromBody] NewsFeedSubscriptionUpdateDTO feedSubscriptionDTO)
        {
            if (feedSubscriptionDTO == null)
            {
                return(BadRequest());
            }

            NewsFeedSubscription feedSubscription = mapper.Map <NewsFeedSubscription>(feedSubscriptionDTO);
            await subscriptionRepository.AddAsync(feedSubscription);

            return(CreatedAtAction(nameof(AddNewsFeedSubscription), new { id = feedSubscription.Id }, feedSubscription));
        }
Example #4
0
        public async Task <ActionResult <NewsFeedSubscription> > UpdateNewsFeedSubscription(int id, [FromBody] NewsFeedSubscriptionUpdateDTO feedSubscriptionDTO)
        {
            if (feedSubscriptionDTO == null)
            {
                return(BadRequest());
            }

            NewsFeedSubscription feedSubscription = mapper.Map <NewsFeedSubscription>(feedSubscriptionDTO);

            feedSubscription.Id = id;

            await subscriptionRepository.UpdateAsync(feedSubscription);

            return(Ok(feedSubscription));
        }