PageRenderTime 37ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/MusicStore.UnitTest/ProductControllerTest.cs

https://github.com/satish860/MusicStoreAPI
C# | 56 lines | 52 code | 4 blank | 0 comment | 0 complexity | b2e628829f8d6a01d75f7c345e784c95 MD5 | raw file
  1. using MusicStore.Api.Models;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using FluentAssertions;
  8. using NUnit.Framework;
  9. using System.Web.Http;
  10. using System.Net.Http;
  11. using System.Web.Http.Routing;
  12. using System.Web.Http.Controllers;
  13. using System.Web.Http.Hosting;
  14. using MusicStore.Api;
  15. using System.Web.Http.SelfHost;
  16. namespace MusicStore.UnitTest
  17. {
  18. [TestFixture]
  19. public class ProductControllerTest
  20. {
  21. [TestFixtureSetUp]
  22. public void SetUp()
  23. {
  24. new MusicStoreBootStrap(new HttpSelfHostConfiguration("http://localhost:8008"))
  25. .ConfigureDatabaseForTest()
  26. .SeedDatabase();
  27. }
  28. [Test]
  29. public void Should_be_able_to_Add_the_Cart_Url_to_the_Link()
  30. {
  31. dynamic ProductController = ConfigureController(TestInstance.ProductsController);
  32. ListOfProducts products=ProductController.Get();
  33. products.Products.First().AddToCartUrl.Should().Be("http://localhost/api/Cart/1");
  34. }
  35. [Test]
  36. public void Should_be_able_to_add_Get_the_Product_By_Catgeory()
  37. {
  38. }
  39. public ApiController ConfigureController(ApiController controller)
  40. {
  41. var config = new HttpConfiguration();
  42. var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/products");
  43. var route = config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}");
  44. var routeData = new HttpRouteData(route, new HttpRouteValueDictionary { { "controller", "products" } });
  45. controller.ControllerContext = new HttpControllerContext(config, routeData, request);
  46. controller.Request = request;
  47. controller.Request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData;
  48. controller.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
  49. return controller;
  50. }
  51. }
  52. }