public void Create_Should_Return412IfORderInvalid() { var options = new DbContextOptionsBuilder <UserOrderContext>() .UseInMemoryDatabase(databaseName: "order_controller_tests3") .Options; var testUser = new User("test", "mc testy face", 1); var testOrder = new OrderDTO() { TrackingId = "1234", Name = "nnnn", Street = "sssss", City = "cccc", State = "ssss", ZipCode = "zzzzz", UserId = 2 }; using (var context = new UserOrderContext(options)) { context.Users.Add(testUser); context.SaveChanges(); } using (var context = new UserOrderContext(options)) { var ordersController = new OrdersController(context); var ordersResult = ordersController.Create(testOrder) as ObjectResult; Assert.Equal(412, ordersResult.StatusCode); context.Database.EnsureDeleted(); } }
public void UpdateOrder_Should_UpdateAndSaveToContext() { var options = new DbContextOptionsBuilder <UserOrderContext>() .UseInMemoryDatabase(databaseName: "order_test") .Options; var testUser = new User("test", "mc testy face", 1); var testOrder = new Order("1234", "aaa", "bbb", "ccc", "IL", "60004", 1); using (var context = new UserOrderContext(options)) { context.Users.Add(testUser); testUser.AddOrder(testOrder, context); context.SaveChanges(); } using (var context = new UserOrderContext(options)) { testOrder.UpdateOrder("5555", "aaa", "bbb", "ccc", "IL", "60004", context); } using (var context = new UserOrderContext(options)) { var user = context.Users.Include(u => u.Orders).Single(u => u.UserId == 1); Assert.Equal(1, user.Orders.Count); Assert.Equal("5555", user.Orders.First().TrackingId); } }
public IHttpActionResult Post(int userID, string orderName) { if (ModelState.IsValid) { var userObject = from userObj in db.Users where userObj.ID == userID select userObj; var order = new Order() { OrderName = orderName, User = userObject.SingleOrDefault <User>(), User_ID = userObject.SingleOrDefault <User>().ID }; db.Orders.Add(order); db.SaveChanges(); return(Ok(order)); } else { return(BadRequest()); } }
public void Create_Should_ReturnOrderLocation() { var options = new DbContextOptionsBuilder <UserOrderContext>() .UseInMemoryDatabase(databaseName: "order_controller_tests2") .Options; var testUser = new User("test", "mc testy face", 1); var testOrder = new OrderDTO() { TrackingId = "1234", Name = "nnnn", Street = "sssss", City = "cccc", State = "ssss", ZipCode = "zzzzz", UserId = 1 }; using (var context = new UserOrderContext(options)) { context.Users.Add(testUser); context.SaveChanges(); } using (var context = new UserOrderContext(options)) { var ordersController = new OrdersController(context); var ordersResult = ordersController.Create(testOrder) as CreatedAtRouteResult; var order = (Order)ordersResult.Value; Assert.Equal(201, ordersResult.StatusCode); Assert.Equal("GetUserOrders", ordersResult.RouteName); Assert.Equal(testOrder.TrackingId, order.TrackingId); context.Database.EnsureDeleted(); } }
public void GetUserOrders_Should_ReturnOrdersForUserId() { var options = new DbContextOptionsBuilder <UserOrderContext>() .UseInMemoryDatabase(databaseName: "order_controller_tests1") .Options; var testUser = new User("test", "mc testy face", 1); var testOrder = new Order("1234", "aaa", "bbb", "ccc", "IL", "60004", 1); using (var context = new UserOrderContext(options)) { context.Users.Add(testUser); testUser.AddOrder(testOrder, context); context.SaveChanges(); } using (var context = new UserOrderContext(options)) { var ordersController = new OrdersController(context); var ordersResult = ordersController.GetUserOrders(testUser.UserId) as OkObjectResult; var orders = (List <Order>)ordersResult.Value; Assert.Single(orders); Assert.Equal(testOrder.TrackingId, orders.First().TrackingId); context.Database.EnsureDeleted(); } }
public void Update_Should_Return404IfORderInvalid() { var options = new DbContextOptionsBuilder <UserOrderContext>() .UseInMemoryDatabase(databaseName: "order_controller_tests4") .Options; var testUser = new User("test", "mc testy face", 1); var testOrder = new Order("1234", "aaa", "bbb", "ccc", "IL", "60004", 1); var testOrderDTO = new OrderDTO() { TrackingId = "1234", Name = "nnnn", Street = "sssss", City = "cccc", State = "ssss", ZipCode = "zzzzz", UserId = 1 }; using (var context = new UserOrderContext(options)) { context.Users.Add(testUser); testUser.AddOrder(testOrder, context); context.SaveChanges(); } using (var context = new UserOrderContext(options)) { var ordersController = new OrdersController(context); var ordersResult = ordersController.Update(2, testOrderDTO) as NotFoundResult; Assert.Equal(404, ordersResult.StatusCode); context.Database.EnsureDeleted(); } }
public IActionResult Post([FromBody] UserDTO userDTO) { var user = new User(userDTO.FirstName, userDTO.LastName); _userOrderContext.Add(user); _userOrderContext.SaveChanges(); return(CreatedAtRoute("GetUsers", new { id = user.UserId }, user)); }
public IHttpActionResult Post(string Name) { if (ModelState.IsValid) { var user = new User() { Name = Name }; db.Users.Add(user); db.SaveChanges(); return(Ok(user)); } else { return(BadRequest()); } }
public void Update_Should_ReturnOk() { var options = new DbContextOptionsBuilder <UserOrderContext>() .UseInMemoryDatabase(databaseName: "order_controller_tests5") .Options; var testUser = new User("test", "mc testy face", 2); var testOrder = new Order("1234", "aaa", "bbb", "ccc", "IL", "60004", 2); var testOrderDTO = new OrderDTO() { TrackingId = "1234", Name = "nnnn", Street = "sssss", City = "cccc", State = "ssss", ZipCode = "zzzzz", UserId = 2 }; using (var context = new UserOrderContext(options)) { context.Users.Add(testUser); testUser.AddOrder(testOrder, context); context.SaveChanges(); } using (var context = new UserOrderContext(options)) { //ef core in memory provider doesnt reset its increments for auto generated ids //so you cant rely on the first object added having an id of 1 var user = context.Users.Include(u => u.Orders).Single(u => u.UserId == 2); var orderId = user.Orders.First().OrderId; var ordersController = new OrdersController(context); var ordersResult = ordersController.Update(orderId, testOrderDTO) as OkResult; Assert.Equal(200, ordersResult.StatusCode); context.Database.EnsureDeleted(); } }