public async void SetStatusProcessing_CurrentStatusInvalid_PresentsError(OrderStatus status) { List<WebOrder> orders = new List<WebOrder> { new WebOrder { Id = 1, MemberId = UserId, OrderStatus = status } }; Mock<IVeilDataAccess> dbStub = TestHelpers.GetVeilDataAccessFake(); Mock<DbSet<WebOrder>> webOrdersDbSetStub = TestHelpers.GetFakeAsyncDbSet(orders.AsQueryable()); webOrdersDbSetStub.Setup(wo => wo.FindAsync(orders[0].Id)).ReturnsAsync(orders[0]); dbStub.Setup(db => db.WebOrders).Returns(webOrdersDbSetStub.Object); WebOrdersController controller = new WebOrdersController(dbStub.Object, idGetter: null, stripeService: null, userManager: null); var result = await controller.SetStatusProcessing(1, true) as RedirectToRouteResult; Assert.That(result != null); Assert.That(result.RouteValues["action"], Is.EqualTo("Details")); var alerts = controller.TempData["AlertMessages"]; Assert.That(alerts is List<AlertMessage>); AlertMessage message = ((List<AlertMessage>)alerts)[0]; Assert.That(message.Message, Is.EqualTo("An order can only begin processing if its status is Pending Processing.")); }
public async void SetStatusProcessing_CurrentStatusInvalid_RedirectsToDetails() { List<WebOrder> orders = new List<WebOrder> { new WebOrder { Id = 1, MemberId = UserId, OrderStatus = OrderStatus.PendingProcessing } }; Mock<IVeilDataAccess> dbStub = TestHelpers.GetVeilDataAccessFake(); Mock<DbSet<WebOrder>> webOrdersDbSetStub = TestHelpers.GetFakeAsyncDbSet(orders.AsQueryable()); webOrdersDbSetStub.Setup(wo => wo.FindAsync(orders[0].Id)).ReturnsAsync(orders[0]); dbStub.Setup(db => db.WebOrders).Returns(webOrdersDbSetStub.Object); WebOrdersController controller = new WebOrdersController(dbStub.Object, idGetter: null, stripeService: null, userManager: null); var result = await controller.SetStatusProcessing(1, true) as RedirectToRouteResult; Assert.That(result != null); Assert.That(result.RouteValues["action"], Is.EqualTo("Details")); Assert.That(orders[0].OrderStatus, Is.EqualTo(OrderStatus.BeingProcessed)); }
public async void SetStatusProcessing_Unconfirmed_PresentsError() { WebOrdersController controller = new WebOrdersController(veilDataAccess: null, idGetter: null, stripeService: null, userManager: null); var result = await controller.SetStatusProcessing(null, false) as RedirectToRouteResult; Assert.That(result != null); Assert.That(result.RouteValues["action"], Is.EqualTo("Details")); var alerts = controller.TempData["AlertMessages"]; Assert.That(alerts is List<AlertMessage>); AlertMessage message = ((List<AlertMessage>)alerts)[0]; Assert.That(message.Message, Is.EqualTo("You must confirm your action by checking \"Confirm Processing.\"")); }