Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }