Пример #1
0
        public void Get_Returns_BadRequest400_When_All_SQL_Parameters_Cannot_Be_Resolved()
        {
            const string query   = "SELECT * FROM tblProducts WHERE ProductId = @ProductId";
            var          binding = new QueryBinding(new RouteBinding(config, "api/products/{productId}", null), query);

            binding.Returns <object>(); //create a fake binding that won't get executed anyway

            controller.ControllerContext.RouteData.Values[DataApiConstants.QueryBindingKey] = binding;
            var exception = Assert.Throws <HttpResponseException>(() => controller.Get());

            Assert.That(exception.Response.StatusCode == System.Net.HttpStatusCode.BadRequest);
        }
Пример #2
0
        public void Get_Returns_Single_Product()
        {
            //Arrange
            const string query          = "SELECT * FROM tblProducts";
            var          mockDataSource = new Mock <ISQLDataSource>();

            mockDataSource.Setup(ds => ds.ExecuteQuery(query, It.IsAny <Dictionary <string, object> >())).Returns(CreateDataTable());

            var binding = new QueryBinding(new RouteBinding(config, "api/products/{productId}", mockDataSource.Object), query);

            binding.Returns <Product>();

            controller.ControllerContext.RouteData.Values[DataApiConstants.QueryBindingKey] = binding;

            //Act
            var responseObject = controller.Get();

            //Assert
            responseObject.ShouldBeOfType <Product>();
        }