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); }