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();
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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));
        }
Beispiel #8
0
        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();
            }
        }