public async Task CarMail_Get() { var options = new ListOptions { Filters = new Dictionary <string, string> { { "personTo", "1" }, { "addressTo", "2" } }, SortKey = "PersonTo", SortOrder = SortOrder.Descending }; var returnUrlPath = "/index"; var returnUrlQuery = "?indexquery=indexquery"; var returnUrl = returnUrlPath + returnUrlQuery; var context = MakeContext(returnUrlPath, returnUrlQuery); var random = new Random(); for (int i = 0; i < 100; ++i) { context.Mail.Add(new Post { Id = i, PersonTo = "personTo" + random.Next(), AddressTo = "addressTo" + random.Next(), CarId = random.Next() % 2 == 0 ? context.MyCar.Id : default(long), State = random.Next() % 5 == 0 ? PostState.InDeviveryToPerson : PostState.Created }); } var mailDao = context.MailDaoMock.Object; var controller = new CourierController( context.CurrentUserService, mailDao) { TempData = context.TempDataDictionary, ControllerContext = context.ControllerContext }; var r = await controller.CarMail(options) as ViewResult; Assert.NotNull(r); Assert.Null(r.ViewName); var vm = r.Model as MailViewModel; Assert.NotNull(vm); var expectedMail = (await mailDao.GetAllAsync( filterPersonTo: options.Filters["personTo"], filterAddressTo: options.Filters["addressTo"], filterCarId: context.MyCar.Id, filterState: PostState.InDeviveryToPerson, sortKey: options.SortKey, sortOrder: options.SortOrder)) .ToPaginatedList(options.Page, DriverController.PageSize); Assert.Equal(expectedMail, vm.Mail); Assert.Same(options, vm.CurrentListOptions); Assert.Equal(returnUrl, vm.ReturnUrl); }
public void redirect_courier_request() { var fixture = new Fixture(); var aCourierQuery = fixture.Create <CourierQuery>(); var handler = new Mock <ICourierHandler>(); var controller = new CourierController(handler.Object); controller.Post(aCourierQuery); handler .Verify(m => m.Handle(aCourierQuery), Times.Once); }
public async Task MovePostToCar_Post() { var returnUrlPath = "/index"; var returnUrlQuery = "?indexquery=indexquery"; var returnUrl = returnUrlPath + returnUrlQuery; var context = MakeContext(returnUrlPath, returnUrlQuery); var postId = 1; context.Mail.Add(new Post { Id = postId }); var controller = new CourierController( context.CurrentUserService, context.MailDaoMock.Object) { TempData = context.TempDataDictionary, ControllerContext = context.ControllerContext }; var r = await controller.MovePostToCar(postId, returnUrl) as RedirectResult; Assert.NotNull(r); Assert.Equal(returnUrl, r.Url); var post = context.Mail.First(); Assert.Null(post.BranchId); Assert.Null(post.BranchStockAddress); Assert.Equal(context.MyCar.Id, post.CarId); Assert.Equal(PostState.InDeliveryToBranchStock, post.State); var message = controller.TempData.Get <MessageViewModel>("message"); Assert.NotNull(message); Assert.Equal(MessageType.Info, message.Type); }
public async Task DeliverPost_Post() { var returnUrlPath = "/index"; var returnUrlQuery = "?indexquery=indexquery"; var returnUrl = returnUrlPath + returnUrlQuery; var context = MakeContext(returnUrlPath, returnUrlQuery); var postId = 1; context.Mail.Add(new Post { Id = postId, BranchId = context.MyBranch.Id }); var controller = new CourierController( context.CurrentUserService, context.MailDaoMock.Object) { TempData = context.TempDataDictionary, ControllerContext = context.ControllerContext }; var r = await controller.DeliverPost(postId, returnUrl) as RedirectResult; Assert.NotNull(r); Assert.Equal(returnUrl, r.Url); var post = context.Mail.First(); Assert.Null(post.BranchId); Assert.Null(post.BranchStockAddress); Assert.Null(post.CarId); Assert.Equal(PostState.Delivered, post.State); }