Ejemplo n.º 1
0
        public async Task <IActionResult> RemoveActivities(RemoveActivitiesViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(View(vm));
            }

            await _activitiesDao.RemoveToDateAsync(vm.ToDate);

            return(Redirect(vm.ReturnUrl));
        }
        public async void RemoveActivities_Post()
        {
            var returnUrlPath  = "/index";
            var returnUrlQuery = "?indexquery=indexquery";
            var returnUrl      = returnUrlPath + returnUrlQuery;

            var context = MakeContext(returnUrlPath, returnUrlQuery);

            DateTime startDate    = DateTime.Now;
            DateTime endDate      = startDate.AddMinutes(120);
            DateTime removeToDate = startDate.AddMinutes(60);

            var random = new Random();

            for (int i = 0; i < 100; ++i)
            {
                context.Activities.Add(new Activity
                {
                    Id       = i,
                    Type     = ActivityType.PostCreated,
                    DateTime = startDate.AddMinutes(random.Next() % 120),
                });
            }

            var controller = new ManagerController(
                context.ActivitiesDao,
                context.BranchesDao,
                context.CarsDao)
            {
                ControllerContext = context.ControllerContext
            };

            var expectedActivities = context.Activities.ToList();

            expectedActivities.RemoveAll(a => a.DateTime < removeToDate);

            var vm = new RemoveActivitiesViewModel
            {
                ToDate    = removeToDate,
                ReturnUrl = returnUrl
            };

            var r = await controller.RemoveActivities(vm) as RedirectResult;

            Assert.NotNull(r);
            Assert.Equal(returnUrl, r.Url);
            Assert.Equal(expectedActivities, context.Activities);
        }