public void GetResourcesByCategory() { //Arrange var mockAllReadyDataAccess = new Mock <IAllReadyDataAccess>(); string resourceCat1 = "1", resourceCat2 = "2"; var cat1Resources = new List <Resource>() { new Resource() { Id = 1 } }; var cat2Resources = new List <Resource>() { new Resource() { Id = 2 } }; mockAllReadyDataAccess.Setup(x => x.GetResourcesByCategory(resourceCat1)).Returns(cat1Resources); mockAllReadyDataAccess.Setup(x => x.GetResourcesByCategory(resourceCat2)).Returns(cat2Resources); var controller = new ResourceApiController(mockAllReadyDataAccess.Object); //Act var cat1ResourceResults = controller.GetResourcesByCategory(resourceCat1); var cat2ResourceResults = controller.GetResourcesByCategory(resourceCat2); //Assert Assert.True(cat1ResourceResults.Any(x => x.Id == 1)); Assert.True(cat2ResourceResults.Any(x => x.Id == 2)); }
public void ControllerHasProducesAtttributeWithTheCorrectContentType() { var sut = new ResourceApiController(null); var attribute = sut.GetAttributes().OfType <ProducesAttribute>().SingleOrDefault(); Assert.NotNull(attribute); Assert.Equal("application/json", attribute.ContentTypes.Select(x => x).First()); }
public void ControllerHasRouteAtttributeWithTheCorrectTemplate() { var sut = new ResourceApiController(null); var attribute = sut.GetAttributes().OfType <RouteAttribute>().SingleOrDefault(); Assert.NotNull(attribute); Assert.Equal("api/resource", attribute.Template); }
public async Task GetNestResources_GivenNoResources_ExpectJsonWithEmptyList() { var roleQueries = new Mock <IRoleQueries>(); roleQueries.Setup(x => x.GetNestedSimpleResources()).ReturnsAsync(Maybe <List <SimpleResourceModel> > .Nothing); var controller = new ResourceApiController(roleQueries.Object); var response = Assert.IsType <JsonResult>(await controller.GetNestResources()); var data = Assert.IsType <List <SimpleResourceModel> >(response.Value); Assert.Empty(data); }
public void GetResourcesByCategoryReturnsCorrectModel() { var mediator = new Mock <IMediator>(); mediator.Setup(x => x.Send(It.IsAny <ResourcesByCategoryQuery>())).Returns(new List <Resource> { new Resource() }); var sut = new ResourceApiController(mediator.Object); var results = sut.GetResourcesByCategory(It.IsAny <string>()); Assert.IsType <List <ResourceViewModel> >(results); }
public void GetResourcesByCategorySendsResourcesByCategoryQueryWithCorrectData() { const string category = "category"; var mediator = new Mock <IMediator>(); mediator.Setup(x => x.Send(It.IsAny <ResourcesByCategoryQuery>())).Returns(new List <Resource>()); var sut = new ResourceApiController(mediator.Object); sut.GetResourcesByCategory(category); mediator.Verify(x => x.Send(It.Is <ResourcesByCategoryQuery>(y => y.Category == category))); }
public async Task GetNestResources_GivenResourcesAreFound_ExpectJsonWithPopulatedList() { var roleQueries = new Mock <IRoleQueries>(); roleQueries.Setup(x => x.GetNestedSimpleResources()).ReturnsAsync(Maybe.From(new List <SimpleResourceModel> { new SimpleResourceModel(TestVariables.ResourceId, "name", null), })); var controller = new ResourceApiController(roleQueries.Object); var response = Assert.IsType <JsonResult>(await controller.GetNestResources()); var data = Assert.IsType <List <SimpleResourceModel> >(response.Value); Assert.Single(data); }