Exemple #1
0
        public void Should_Return_Ok_With_Results_Get_Tenants()
        {
            // Act
            ActionResult <List <TenantModel> > result = tenantsController.Get();

            Assert.That(result.Result, Is.TypeOf <OkObjectResult>());
            if (result.Result is OkObjectResult)
            {
                var newResult  = result.Result as OkObjectResult;
                var resultList = newResult.Value as List <TenantModel>;
                Assert.That(resultList.Count, Is.EqualTo(2));
            }
        }
        public async Task TenantGet()
        {
            //Mock obujects

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost:58578/aparte/Tenant");

            ODataModelBuilder builder = Aparte.ModelBuilder.AparteModelBuilder.GetOdataModelBuilder();
            var model = builder.GetEdmModel();

            HttpRouteCollection routes = new HttpRouteCollection();
            HttpConfiguration   config = new HttpConfiguration(routes)
            {
                IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always
            };


            config.MapODataServiceRoute("ODataV4Route", "aparte", model);
            config.Count().Filter().OrderBy().Expand().Select().MaxTop(null);

            config.EnableDependencyInjection();
            //Check all the routes are properly initialized.
            config.EnsureInitialized();

            request.SetConfiguration(config);
            ODataQueryContext context = new ODataQueryContext(
                model,
                typeof(Tenant),
                new ODataPath(
                    new Microsoft.OData.UriParser.EntitySetSegment(
                        model.EntityContainer.FindEntitySet("Tenants"))
                    )
                );


            var controller = new TenantsController();

            controller.Request = request;

            var options  = new ODataQueryOptions <Tenant>(context, request);
            var response = await(controller.Get() as IHttpActionResult).ExecuteAsync(CancellationToken.None);

            List <Tenant> tenants = await response.Content.ReadAsAsync <List <Tenant> >();

            Assert.IsTrue(tenants.Any());
        }