public void ChangeOrderStatus_Failed_Returns_JsonResult_Error()
        {
            Users user = new Users {
                Id = 1, UserName = "******"
            };
            var cancel = new CancellationToken();
            var model  = new OrderListModel {
                BillingInfoId = 1
            };

            var mockProductService = new Mock <IProductService>();
            var mockUserService    = new Mock <IUserService>();
            var mockOrderService   = new Mock <IOrderService>();
            var mockUserStore      = new Mock <IUserStore <Users> >();

            mockUserStore.Setup(u => u.CreateAsync(user, cancel));

            var mockManager = new Mock <UserManager <Users> >(mockUserStore.Object, null, null, null, null, null, null, null, null);

            var Controller = new OrderProcessingController(mockProductService.Object, mockManager.Object, mockUserService.Object, mockOrderService.Object);

            var result = Controller.ChangeOrderStatus(model);

            var    viewResult = Assert.IsType <JsonResult>(result);
            string json       = JsonConvert.SerializeObject(viewResult.Value);

            Assert.Equal("\"Billing Info Id Not found\"", json);
        }
Esempio n. 2
0
        public void OrderController_ChangeOrderStatus_Success()
        {
            #region MockData
            Users user = new Users {
                UserName = "******", Email = "fakeEmail"
            };
            var cancel = new CancellationToken();

            var User = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.NameIdentifier, "1"),
            }));

            BillingInfo billingInfo = new BillingInfo
            {
                Adress         = "fakeAdress",
                City           = "fakeCity",
                CountryOrState = "fakeCountry",
                Email          = "fakeEmail",
                PhoneNumber    = "fakeNumber",
            };

            Invoice invoice = new Invoice
            {
                InvoiceDate = DateTimeOffset.UtcNow,
                UserId      = 1
            };

            Manufacturer manufacturer = new Manufacturer
            {
                /* Id = 1,*/
                Name = "manufacturerName"
            };

            ItemDepartment itemDept = new ItemDepartment
            {
                /*   Id = 1,*/
                DeptName = "DeptName"
            };

            ItemType itemType = new ItemType
            {
                /* Id = 1,*/
                Name = "itemTypeName",
                ItemTypeHeaderImageUrl = "itemTypeHeaderImageUrl",
                ItemGroupName          = "itemGroupName"
            };

            ItemTypeSub itemSubType = new ItemTypeSub
            {
                /*   Id = 1,*/
                SubTypeName = "itemSubTypeName",
                ItemType    = itemType
            };

            Specs spec = new Specs
            {
                /*  Id = 1, */
                Description   = "Description",
                Specification = "Specification",
            };

            Model model = new Model
            {
                /*  Id = 1,*/
                ItemDepartment = itemDept,
                SpecsId        = spec,
                TypeId         = itemType,
                Name           = "modelName"
            };

            Items item = new Items
            {
                /* Id = 1, */
                Availability = 1,
                Color        = "itemColor",
                Price        = 12,
                Discount     = 0,
                ManuModel    = manufacturer,
                Model        = model,
                ItemTypeSub  = itemSubType
            };

            PaymentMethod paymentMethod = new PaymentMethod {
                Method = "fakeMethod"
            };
            Status status = new Status {
                StatusText = "fakeStatus"
            };

            Order order = new Order
            {
                ItemId          = 1,
                UserId          = 1,
                NumberOfItems   = 1,
                StatusId        = 1,
                BillingInfoId   = 1,
                PaymentMethodId = 1,
                InvoiceId       = 1
            };
            #endregion

            OrderListModel changeOrderModel = new OrderListModel {
                BillingInfoId = 1, OrderStatus = 2
            };

            var productService = new StoreProductService(_context);
            var userService    = new UserService(_context);
            var orderService   = new OrderService(_context);

            var mockUserStore = new Mock <IUserStore <Users> >();
            mockUserStore.Setup(u => u.CreateAsync(user, cancel));

            var manager    = new UserManager <Users>(mockUserStore.Object, null, null, null, null, null, null, null, null);
            var Controller = new OrderProcessingController(productService, manager, userService, orderService)
            {
                ControllerContext = new ControllerContext()
                {
                    HttpContext = new DefaultHttpContext()
                    {
                        User = User
                    }
                }
            };

            var addUser           = userService.AddUser(user);
            var addItem           = productService.AddItem(item, spec, model);
            var addInvoice        = orderService.AddInvoice(invoice);
            var addStatus         = orderService.AddStatus(status);
            var addStatus2        = orderService.AddStatus(status);
            var addPaymentMethod  = orderService.AddPaymentMethod(paymentMethod);
            var addBillInfo       = orderService.AddBillingInfo(billingInfo);
            var addOrder          = orderService.AddOrder(order);
            var changeOrderStatus = Controller.ChangeOrderStatus(changeOrderModel);
            var getOrders         = orderService.GetAllOrders();

            Assert.Equal(2, getOrders.First().StatusId);
            var    jsonResult = Assert.IsType <JsonResult>(changeOrderStatus);
            string json       = JsonConvert.SerializeObject(jsonResult.Value);
            Assert.Equal("\"Orders Status Changed !\"", json);
            Assert.NotEqual("Billing Info Id Not found", json);
            Assert.NotEqual("Something went wrong!", json);
        }