public void GetByCustomerId_WhenPassedKnownCustomerId_ShouldReturnOrderRecordForSpecified() { // Arrange var testDataContext = new DataFileData { Orders = _testOrders }; var theRepository = new OrdersRepository(new DatabaseFactory(testDataContext)); var ordersServicesInst = new OrdersServices(theRepository); //var mockStaticLoggerInstWrapper = new Mock<IStaticLoggerInstanceWrapper>(); var ordersController = new OrdersController(ordersServicesInst); // Act var response = ordersController.GetByCustomerId(1); // Assert Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(OkObjectResult)); var foundOrders = (List <OrderRecord>)((OkObjectResult)response).Value; Assert.IsInstanceOfType(foundOrders, typeof(List <OrderRecord>)); }
public void Get_WhenCalledWithNoParameters_ShouldReturnAllOrders() { // Arrange var testDataContext = new DataFileData { Orders = _testOrders }; var repository = new OrdersRepository(new DatabaseFactory(testDataContext)); var ordersServicesInst = new OrdersServices(repository); //var mockStaticLoggerInstWrapper = new Mock<IStaticLoggerInstanceWrapper>(); var ordersController = new OrdersController(ordersServicesInst); // Act var response = ordersController.Get(); // Assert Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(ObjectResult)); var items = (List <OrderRecord>)((ObjectResult)response).Value; Assert.AreEqual(1, items.Count); }
public void GetById_WhenExistingIdPassed_ShouldReturnCorrectItem() { // Arrange var testDataContext = new DataFileData { Orders = _testOrders }; var theRepository = new OrdersRepository(new DatabaseFactory(testDataContext)); var ordersServicesInst = new OrdersServices(theRepository); //var mockStaticLoggerInstWrapper = new Mock<IStaticLoggerInstanceWrapper>(); var ordersController = new OrdersController(ordersServicesInst); // Act var response = ordersController.GetById(1); // Assert Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(OkObjectResult)); var foundOrder = (OrderRecord)((OkObjectResult)response).Value; Assert.IsInstanceOfType(foundOrder, typeof(OrderRecord)); }
public void GetByDate_WhenPassedAValidDate_ShouldReturnAnyOrdersMatchingForDate() { // Arrange var testDataContext = new DataFileData { Orders = _testOrders }; var theRepository = new OrdersRepository(new DatabaseFactory(testDataContext)); var ordersServicesInst = new OrdersServices(theRepository); //var mockStaticLoggerInstWrapper = new Mock<IStaticLoggerInstanceWrapper>(); var ordersController = new OrdersController(ordersServicesInst); // Act var response = ordersController.GetByDate(new DateTime(2019, 11, 18, 3, 14, 27)); // Assert Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(OkObjectResult)); var foundOrders = (List <OrderRecord>)((OkObjectResult)response).Value; Assert.IsInstanceOfType(foundOrders, typeof(List <OrderRecord>)); }
public void Get_WhenCalledWithNoParam_ShouldListAllCustomers() { // Arrange var testDataContext = new DataFileData { Customers = _testCustomers }; var customersRepository = new CustomersRepository(new DatabaseFactory(testDataContext)); var customersServicesInst = new CustomersServices(customersRepository); //var mockStaticLoggerInstWrapper = new Mock<IStaticLoggerInstanceWrapper>(); var customersController = new CustomersController(customersServicesInst); // Act var response = customersController.Get(); // Assert Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(OkObjectResult)); var items = (List <Customer>)((OkObjectResult)response).Value; Assert.AreEqual(3, items.Count); }
public void Get_WhenCalledWithNoParameters_ShouldReturnOkObjectResult() { // Arrange var testDataContext = new DataFileData(); var repository = new OrdersRepository(new DatabaseFactory(testDataContext)); var ordersServicesInst = new OrdersServices(repository); //var mockStaticLoggerInstWrapper = new Mock<IStaticLoggerInstanceWrapper>(); var ordersController = new OrdersController(ordersServicesInst); // Act var response = ordersController.Get(); // Assert Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(ObjectResult)); }
public void Post_WhenPassedNullProduct_ShouldReturnBadRequest() { // Arrange var testDataContext = new DataFileData { Products = _testProducts }; var productsRepository = new ProductsRepository(new DatabaseFactory(testDataContext)); var productsServicesInst = new ProductsServices(productsRepository); //var mockStaticLoggerInstWrapper = new Mock<IStaticLoggerInstanceWrapper>(); var productsController = new ProductsController(productsServicesInst); // Act var response = productsController.Post(null); // Assert Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(BadRequestResult)); }
public void GetByCustomerId_WhenPassedUnknownCustomerId_ShouldReturnNotFoundResult() { // Arrange var testDataContext = new DataFileData { Orders = _testOrders }; var theRepository = new OrdersRepository(new DatabaseFactory(testDataContext)); var ordersServicesInst = new OrdersServices(theRepository); //var mockStaticLoggerInstWrapper = new Mock<IStaticLoggerInstanceWrapper>(); var ordersController = new OrdersController(ordersServicesInst); // Act var response = ordersController.GetByCustomerId(0); // Assert Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(NotFoundResult)); }
public void Get_WhenCalledWithNoParameters_ShouldReturnAllProducts() { // Arrange var testDataContext = new DataFileData { Products = _testProducts }; var repository = new ProductsRepository(new DatabaseFactory(testDataContext)); var productsServicesInst = new ProductsServices(repository); //var mockStaticLoggerInstWrapper = new Mock<IStaticLoggerInstanceWrapper>(); var productsController = new ProductsController(productsServicesInst); // Act var response = productsController.Get(); // Assert var items = (List <ProductItem>)((ObjectResult)response).Value; Assert.AreEqual(3, items.Count); }
public void Post_WhenPassedAValidProduct_ShouldReturnSame() { // arrange // I'm fudging a bit on the Id here for the sake of time. // in a real app, we'd let SQL Server / EF tell us the new Id value for an added item. const string product = "{ \"id\": 4, \"description\": \"Kiwi\", \"price\": 1.20 }"; // still, in an attempt to get this to work as much like it would in the real world, // I'm going to serialize this into a real object that will then be passed to the // Post() method. var newProduct = JsonConvert.DeserializeObject <ProductItem>(product); var testDataContext = new DataFileData { Products = _testProducts }; var productsRepository = new ProductsRepository(new DatabaseFactory(testDataContext)); var productsServicesInst = new ProductsServices(productsRepository); //var mockStaticLoggerInstWrapper = new Mock<IStaticLoggerInstanceWrapper>(); var productsController = new ProductsController(productsServicesInst); // Act var response = productsController.Post(newProduct); // Assert Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(CreatedAtActionResult)); var foundProduct = (ProductItem)((CreatedAtActionResult)response).Value; Assert.IsInstanceOfType(foundProduct, typeof(ProductItem)); // And just for good measure... Assert.AreEqual(4, foundProduct.Id); Assert.AreEqual("Kiwi", foundProduct.Description); }
public void Post_WhenPassedAValidCustomer_ShouldReturnSame() { // arrange // I'm fudging a bit on the Id here for the sake of time. // in a real app, we'd let SQL Server / EF tell us the new Id value for an added item. const string customer = "{ \"id\": 4, \"name\": \"Scott\" }"; // still, in an attempt to get this to work as much like it would in the real world, // I'm going to serialize this into a real object that will then be passed to the // Post() method. var newCustomer = JsonConvert.DeserializeObject <Customer>(customer); var testDataContext = new DataFileData { Customers = _testCustomers }; var customersRepository = new CustomersRepository(new DatabaseFactory(testDataContext)); var customersServicesInst = new CustomersServices(customersRepository); //var mockStaticLoggerInstWrapper = new Mock<IStaticLoggerInstanceWrapper>(); var customersController = new CustomersController(customersServicesInst); // Act var response = customersController.Post(newCustomer); // Assert Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(CreatedAtActionResult)); var foundCustomer = (Customer)((CreatedAtActionResult)response).Value; Assert.IsInstanceOfType(foundCustomer, typeof(Customer)); // And just for good measure... Assert.AreEqual(4, foundCustomer.Id); Assert.AreEqual("Scott", foundCustomer.Name); }
public CustomersRepository(IDatabaseFactory dbFactory) : base(dbFactory) { _dbContext = dbFactory.Get(); }
public DatabaseFactory(DataFileData theData) { _theData = theData; }
/// <summary> /// Constructor /// </summary> /// <param name="databaseFactory">An instance of any concrete class /// that implements the IDatabaseFactory interface. /// </param> protected RepositoryBase(IDatabaseFactory databaseFactory) { DatabaseFactory = databaseFactory; _dataContext = DatabaseFactory.Get(); }
public ProductsRepository(IDatabaseFactory dbFactory) : base(dbFactory) { _dbContext = dbFactory.Get(); }