private void GetAll_Controller() { //var controller = _ninjectKernel.Get<Controllers.ProductController>(); var controller = new Controllers.ProductController(repo); controller.Request = new HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); var options = new DbContextOptionsBuilder <ProductContext>() .UseInMemoryDatabase("Product.InMemory") .Options; // Run the test against one instance of the context using (var context = new ProductContext(options)) { var repo = new ProductRepository(context); repo.Add(new Product { Id = "1", Description = "Product 1", Brand = "Brand 1", Model = "Model 1" }); }; // Act var result = controller.Get(); // Assert Assert.AreEqual(result.Count(), 1); }
public void GetProducts_InternalServerError_InternalServerError() { var mockRepo = new Mock <IProductRepo>(); mockRepo.Setup(m => m.GetHttpProducts()).Throws(new Exception()); var service = new Controllers.ProductController(mockRepo.Object); var result = service.GetProductsAsync().Result; var expected = HttpStatusCode.InternalServerError; Assert.AreEqual(expected, result.StatusCode); }
public void GetProducts_HttpNoContent_HttpNoContent() { var mockRepo = new Mock <IProductRepo>(); var nullProducts = Task.FromResult(Enumerable.Empty <Dtos.Product>()); mockRepo.Setup(m => m.GetWcfProducts()).Returns(nullProducts); mockRepo.Setup(m => m.GetHttpProducts()).Returns(nullProducts); var service = new Controllers.ProductController(mockRepo.Object); var result = service.GetProductsAsync().Result; Assert.AreEqual(HttpStatusCode.NoContent, result.StatusCode); }
public void GetProducts_OnlyHttpProducts_HttpProducts() { var mockRepo = new Mock <IProductRepo>(); mockRepo.Setup(m => m.GetHttpProducts()).Returns(mockData.HttpData()); mockRepo.Setup(m => m.GetWcfProducts()).Returns(Task.FromResult(Enumerable.Empty <Dtos.Product>())); var service = new Controllers.ProductController(mockRepo.Object); var response = service.GetProductsAsync().Result; var result = response.Content.ReadAsAsync <IEnumerable <Dtos.Product> >().Result; var expected = mockData.HttpData().Result; expected.ShouldBeEquivalentTo(result, "Expected result not equal to actual result."); }
public void GetProducts_NoErrors_CheapestProducts() { var mockRepo = new Mock <IProductRepo>(); mockRepo.Setup(m => m.GetWcfProducts()).Returns(mockData.WcfData); mockRepo.Setup(m => m.GetHttpProducts()).Returns(mockData.HttpData); var service = new Controllers.ProductController(mockRepo.Object); var resultResponse = service.GetProductsAsync().Result; var result = resultResponse.Content.ReadAsAsync <IEnumerable <Dtos.Product> >().Result; var expected = mockData.TestGetCheapestProductsData().Content.ReadAsAsync <IEnumerable <Dtos.Product> >().Result; expected.ShouldBeEquivalentTo(result, "Expected response not the same as actual response."); }
public void GetProducts_WcfTimeoutException_HttpProducts() { var mockStore = new Mock <BazzasBazaar.IStore>(); mockStore.Setup(m => m.GetFilteredProducts(null, null, null, null)).Throws(new TimeoutException()); MockHttpMessageHandler mockHttp = new MockHttpMessageHandler(); HttpResponseMessage fakeResponse = new HttpResponseMessage(HttpStatusCode.OK); fakeResponse.Content = new StringContent(JsonConvert.SerializeObject(mockData.HttpData().Result), Encoding.UTF8, "application/json"); mockHttp.When("http://localhost:24697/api/*").Respond(fakeResponse); HttpClient client = new HttpClient(mockHttp); Dictionary <string, Uri> uri = new Dictionary <string, Uri> { { "Fake", new Uri("http://localhost:24697/api/Products") } }; var repo = new Repos.ProductRepo(client, mockStore.Object, uri); var service = new Controllers.ProductController(repo); var response = service.GetProductsAsync().Result; var results = response.Content.ReadAsAsync <IEnumerable <Dtos.Product> >().Result; var expected = mockData.HttpDataFake().Result; expected.ShouldBeEquivalentTo(results, "Expected results not equal to actual results."); }
public ProductController1() { this.productController = new Controllers.ProductController(ObjectFactory.GetInstance <IProductCatalogService>(), ObjectFactory.GetInstance <ICookieStorageService>()); }
//myshetlf add to cart receiving an array list public HttpResponseMessage Postmyshelf(short days, myshelf[] myshelfarr) { int cnt = 0; short invheaderid = 0; double sumamt = 0; if (ModelState.IsValid) { foreach (myshelf myshelf in myshelfarr) { ProductController ProductController = new Controllers.ProductController(); product product = ProductController.Getproduct(myshelf.product_productid); sumamt = sumamt + product.price; } foreach (myshelf myshelf in myshelfarr) { myshelf.purchasedate = DateTime.Now; if (myshelf.purchasetype.Equals("purchase")) { myshelf.enddate = null; // myshelf.enddate = Convert.ToDateTime(999912312); } else { myshelf.enddate = myshelf.purchasedate.Value.AddDays(days); } ProductController ProductController = new Controllers.ProductController(); product product = ProductController.Getproduct(myshelf.product_productid); if (cnt == 0) { InvoiceheaderController InvoiceheaderController = new InvoiceheaderController(); invoiceheader invoiceheader = new Models.invoiceheader(); invoiceheader.date = DateTime.Now; invoiceheader.totalamount = sumamt; invoiceheader.customer_customerid = myshelf.customer_customerid; invoiceheader = InvoiceheaderController.Postinvoiceheader(invoiceheader, myshelf, product, myshelf.purchasetype, days); myshelf.invoiceheader_invoiceheaderid = invoiceheader.invoiceheaderid; invheaderid = invoiceheader.invoiceheaderid; myshelf.invoiceheader_invoiceheaderid = invoiceheader.invoiceheaderid; cnt++; db.myshelves.Add(myshelf); db.SaveChanges(); } else { InvoicedetailController InvoicedetailController = new Controllers.InvoicedetailController(); invoicedetail invoicedetail = new invoicedetail(); invoicedetail.invoiceheader_invoiceheaderid = invheaderid; invoicedetail.product_productid = myshelf.product_productid; invoicedetail.amount = product.price; InvoicedetailController.Postinvoicedetail(invoicedetail, myshelf.purchasetype); myshelf.invoiceheader_invoiceheaderid = invheaderid; db.myshelves.Add(myshelf); db.SaveChanges(); } } HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, myshelfarr); return(response); } else { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } }