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); }
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)); }
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)); }