public JsonResult DataTableAjaxHandler(DataTableRequestModel requestModel) { var currentUser = ((EducationSecurityPrincipal)HttpContext.User); ProviderClientDataTable dataTable = new ProviderClientDataTable(Request, currentUser); var viewModel = LogicManager.GenerateDataTableResultViewModel(requestModel, dataTable); return Json(viewModel, JsonRequestBehavior.AllowGet); }
public void GivenAPublicField_WhenGettingTableData_ThenActionColumnDataContainsIdAndName() { var request = new DataTableRequestModel(); var expected = new DataTableResultModel(); MockLogicManager.Expect(m => m.GenerateDataTableResultViewModel(Arg.Is(request), Arg<IClientDataTable<CustomField>>.Is.NotNull)).Return(expected); var result = Target.DataTableAjaxHandler(request) as JsonResult; result.AssertGetData(expected); }
public void GivenAProvider_WhenGettingTableData_ThenJsonResultContainsViewModelFromLogicManager() { var request = new DataTableRequestModel(); var expected = new DataTableResultModel(); MockLogicManager.Expect(m => m.GenerateDataTableResultViewModel(Arg.Is(request), Arg<IClientDataTable<Provider>>.Is.NotNull)).Return(expected); var result = Target.DataTableAjaxHandler(request) as JsonResult; result.AssertGetData(expected); }
public void GivenLogicManagerGeneratesViewModel_WhenDataTableAjaxHandler_ThenJsonResultContainsViewModel() { DataTableResultModel expected = new DataTableResultModel(); DataTableRequestModel requestModel = new DataTableRequestModel(); MockLogicManager.Expect(m => m.GenerateDataTableResultViewModel(Arg.Is(requestModel), Arg<IClientDataTable<CustomField>>.Is.NotNull)).Return(expected); JsonResult result = Target.DataTableAjaxHandler(requestModel); result.AssertGetData(expected); }
public void GivenStudentsWithSchools_WhenGettingDataTableAjaxHandler_ThenDataTableStateContainsColumns() { MockHttpContext.Request.Expect(m => m["iSortCol_0"]).Return("0"); MockHttpContext.Request.Expect(m => m["sSortDir_0"]).Return("asc"); DataTableRequestModel request = new DataTableRequestModel { iDisplayLength = 10 }; JsonResult result = Target.DataTableAjaxHandler(request) as JsonResult; DataTableResultModel actual = result.AssertGetData<DataTableResultModel>(); Assert.IsTrue(actual.aaData.Any()); }
public void GivenBinderCreatesResult_WhenGenerateDataTableResultViewModel_ThenReturnBindResult() { DataTableResultModel expected = new DataTableResultModel(); DataTableRequestModel requestModel = new DataTableRequestModel(); IClientDataTable<CustomField> dataTable = MockRepository.GenerateMock<IClientDataTable<CustomField>>(); MockDataTableBinder.Expect(m => m.Bind(Arg<IQueryable<CustomField>>.List.ContainsAll(Repositories.MockCustomFieldRepository.Items.OfType<PrivateHealthField>()), Arg.Is(dataTable), Arg.Is(requestModel))).Return(expected); DataTableResultModel actual = Target.GenerateDataTableResultViewModel(requestModel, dataTable); Assert.AreEqual(expected, actual); }
protected IQueryable <T> GetPagedData(IQueryable <T> items, DataTableRequestModel requestModel) { if (requestModel.iDisplayLength != -1) { return(items.Skip(requestModel.iDisplayStart).Take(requestModel.iDisplayLength)); } else { return(items); } }
public void GivenBinderCreatesResult_WhenGenerateDataTableResultViewModel_ThenReturnBindResult() { DataTableResultModel expected = new DataTableResultModel(); DataTableRequestModel requestModel = new DataTableRequestModel(); IClientDataTable<ServiceAttendance> dataTable = MockRepository.GenerateMock<IClientDataTable<ServiceAttendance>>(); MockDataTableBinder.Expect(m => m.Bind(Repositories.MockServiceAttendanceRepository.Items, dataTable, requestModel)).Return(expected); DataTableResultModel actual = Target.GenerateDataTableResultViewModel(requestModel, dataTable); Assert.AreEqual(expected, actual); }
public void GivenSortOnId_WhenGenerateApprovalDataTableResultViewModel_ThenViewModelContainsData() { DataTableRequestModel model = new DataTableRequestModel { iDisplayLength = 10 }; MockContext.Request.Expect(m => m["iSortCol_0"]).Return("0"); MockContext.Request.Expect(m => m["sSortDir_0"]).Return("asc"); StudentApprovalClientDataTable dataTable = new StudentApprovalClientDataTable(MockContext.Request); var actual = Target.GenerateApprovalDataTableResultViewModel(model, dataTable); Assert.AreEqual(10, actual.aaData.Count()); }
public void GivenSortOnFirstColumn_WhenGenerateDataTableResultViewModel_ThenSucceed() { DataTableRequestModel model = new DataTableRequestModel { iDisplayLength = 10 }; User userEntity = EducationContext.Users.First(u => u.UserRoles.Select(ur => ur.Role).Any(r => r.Name == SecurityRoles.DataAdmin)); EducationSecurityPrincipal user = new EducationSecurityPrincipal(userEntity); HttpRequestBase mockRequest = MockHttpContextFactory.CreateRequest(); mockRequest.Expect(m => m["iSortCol_0"]).Return("0"); mockRequest.Expect(m => m["sSortDir_0"]).Return("asc"); ServiceTypeClientDataTable dataTable = new ServiceTypeClientDataTable(mockRequest, user); Target.GenerateDataTableResultViewModel(model, dataTable); }
public void GivenSortOnStatus_WhenGenerateDataTableResultViewModel_ThenViewModelContainsData() { HttpContextBase mockHttpContext = MockHttpContextFactory.Create(); DataTableRequestModel viewModel = new DataTableRequestModel { iDisplayLength = 10 }; mockHttpContext.Request.Expect(m => m["iSortCol_0"]).Return("0"); mockHttpContext.Request.Expect(m => m["sSortDir_0"]).Return("acs"); UserClientDataTable dataTable = new UserClientDataTable(mockHttpContext.Request, new DefaultSecurityConfiguration()); DataTableResultModel actual = Target.GenerateDataTableResultViewModel(viewModel, dataTable); Assert.AreNotEqual(0, actual.aaData.Count()); }
public void GivenItems_WhenCreateResultSet_ThenItemsGetSelectedByColumnArraySelector() { TestClientDataTable target = CreateTarget(1, "asc"); IQueryable <string> items = new[] { "hi", "yo", "sup" }.AsQueryable(); DataTableRequestModel requestModel = new DataTableRequestModel { iDisplayLength = -1 }; var actual = target.CreateResultSet(items, requestModel); actual.Cast <string[]>().ToList().AssertItemsEqual(new[] { new[] { "2", "hi" }, new[] { "2", "yo" }, new[] { "3", "sup" } }); }
public void GivenBinderCreatesResult_WhenGenerateDataTableResultViewModel_ThenReturnBindResult() { DataTableResultModel expected = new DataTableResultModel(); DataTableRequestModel requestModel = new DataTableRequestModel(); IClientDataTable<Program> dataTable = MockRepository.GenerateMock<IClientDataTable<Program>>(); var expectedQuery = Data.Programs.Where(p => p.IsActive); MockDataTableBinder.Expect(m => m.Bind(Arg<IQueryable<Program>>.Matches(p => p.Where(pr => pr.IsActive).SequenceEqual(expectedQuery)), Arg.Is(dataTable), Arg.Is(requestModel))).Return(expected); DataTableResultModel actual = Target.GenerateDataTableResultViewModel(requestModel, dataTable); Assert.AreEqual(expected, actual); }
public void GivenRequestStatusFilter_WhenGenerateDataTableResultViewModel_ThenRecordCountMatchesStudentsThatMatchStatus() { int expected = 3; MockContext.Request.Expect(m => m["requestStatuses"]).Return(Statuses.Open); DataTableRequestModel requestModel = new DataTableRequestModel { iDisplayLength = 10 }; IEnumerable<Property> studentProperties = EducationContext.Properties.Where(p => p.EntityName == "Student"); StudentClientDataTable dataTable = new StudentClientDataTable(MockContext.Request, User, studentProperties); var actual = Target.GenerateDataTableResultViewModel(requestModel, dataTable); Assert.AreEqual(expected, actual.iTotalDisplayRecords); }
public void GivenItems_AndDisplayLengthSet_WhenCreateResultSet_ThenItemsCountDoesNotExceedDisplayLength() { TestClientDataTable target = CreateTarget(1, "asc"); IQueryable <string> items = new[] { "hi", "yo", "sup" }.AsQueryable(); DataTableRequestModel requestModel = new DataTableRequestModel { iDisplayLength = 2 }; var actual = target.CreateResultSet(items, requestModel); actual.Cast <string[]>().ToList().AssertItemsEqual(new[] { new[] { "2", "hi" }, new[] { "2", "yo" } }); }
public void GivenUserIsProvider_WhenGenerateDataTableResultViewModel_ThenSucceed() { DataTableRequestModel model = new DataTableRequestModel { iDisplayLength = 10 }; User.Identity.User.UserRoles = new List<UserRole> { new UserRole { Role = new Role { Name = SecurityRoles.Provider }, Providers = new List<Provider> { EducationContext.Providers.First() } } }; ServiceOfferingClientDataTable dataTable = new ServiceOfferingClientDataTable(MockHttpContextFactory.CreateRequest(), User); Target.GenerateDataTableResultViewModel(model, dataTable); }
public virtual IList <object> CreateResultSet(IQueryable <T> items, DataTableRequestModel requestModel) { if (requestModel == null) { throw new ArgumentNullException("requestModel"); } if (GetType() == typeof(StudentClientDataTable) || GetType() == typeof(UserClientDataTable)) { var displayedItems = GetPagedData(items, requestModel).WithTranslations(); var materializedResults = displayedItems.ToList().AsQueryable().Select(DataSelector); return(materializedResults.ToList()); } var selectedItems = GetPagedData(items, requestModel).Select(DataSelector).WithTranslations(); var results = selectedItems.ToList(); return(results); }
public void GivenSort_AndOneServiceAttendanceIsVeryLarge_WhenGenerateDataTableResultViewModel_ThenSucceed() { DataTableRequestModel model = new DataTableRequestModel(); model.iDisplayLength = 10; var request = MockHttpContextFactory.CreateRequest(); request.Expect(r => r["id"]).Return("1"); request.Expect(r => r["iSortCol_0"]).Return("0"); request.Expect(r => r["sSortDir_0"]).Return("asc"); ServiceAttendanceClientDataTable dataTable = new ServiceAttendanceClientDataTable(request); ServiceAttendance attendance = new ServiceAttendance { DateAttended = DateTime.Now.AddYears(100), StudentAssignedOffering = EducationContext.StudentAssignedOfferings.Where(s => s.Id == 1).Single(), Subject = EducationContext.Subjects.First(), CreatingUser = User.Identity.User }; EducationContext.ServiceAttendances.Add(attendance); EducationContext.SaveChanges(); var actual = Target.GenerateDataTableResultViewModel(model, dataTable); }
public void WhenGenerateApprovalDataTableResultViewModel_ThenSucceed() { DataTableRequestModel model = new DataTableRequestModel { iDisplayLength = 10 }; StudentApprovalClientDataTable dataTable = new StudentApprovalClientDataTable(MockContext.Request); Target.GenerateApprovalDataTableResultViewModel(model, dataTable); }
public void WhenGetDataTableAjaxHandler_ThenReturnViewModelFromLogicManager() { DataTableRequestModel model = new DataTableRequestModel(); Target.DataTableAjaxHandler(model); MockLogicManager.AssertWasCalled(m => m.GenerateApprovalDataTableResultViewModel(Arg.Is(model), Arg<IClientDataTable<Student>>.Is.NotNull)); }
public void WhenGetDataTableAjaxHandler_ThenReturnGeneratedViewModel() { DataTableRequestModel model = new DataTableRequestModel(); DataTableResultModel expected = new DataTableResultModel(); MockLogicManager.Expect(m => m.GenerateApprovalDataTableResultViewModel(Arg.Is(model), Arg<IClientDataTable<Student>>.Is.NotNull)).Return(expected); JsonResult result = Target.DataTableAjaxHandler(model); result.AssertGetData(expected); }
public abstract DataTableResultModel GenerateDataTableResultViewModel(DataTableRequestModel requestModel, IClientDataTable<CustomField> dataTable);
public DataTableResultModel GenerateDataTableResultViewModel(DataTableRequestModel requestModel, IClientDataTable<User> dataTable) { IQueryable<User> items = UserRepository.Items. Include("UserRoles.Role"). Include("UserRoles.Schools"). Include("UserRoles.Providers"). Include(u => u.LoginEvents); return DataTableBinder.Bind<User>(items, dataTable, requestModel); }
public DataTableResultModel Bind <TEntity>(IQueryable <TEntity> items, IClientDataTable <TEntity> dataTable, DataTableRequestModel requestModel) { if (items == null) { throw new ArgumentNullException("items"); } if (dataTable == null) { throw new ArgumentNullException("dataTable"); } if (requestModel == null) { throw new ArgumentNullException("requestModel"); } return(BindCore(items, dataTable, requestModel)); }
public DataTableResultModel GenerateDataTableResultViewModel(DataTableRequestModel requestModel, IClientDataTable<ServiceOffering> dataTable) { IQueryable<ServiceOffering> items = ServiceOfferingRepository.Items.Where(s => s.IsActive); return DataTableBinder.Bind<ServiceOffering>(items, dataTable, requestModel); }
public JsonResult DataTableAjaxHandler(DataTableRequestModel requestModel) { ServiceAttendanceClientDataTable dataTable = new ServiceAttendanceClientDataTable(Request); var viewModel = LogicManager.GenerateDataTableResultViewModel(requestModel, dataTable); return Json(viewModel, JsonRequestBehavior.AllowGet); }
public JsonResult DataTableAjaxHandler(DataTableRequestModel requestModel) { StudentApprovalClientDataTable dataTable = new StudentApprovalClientDataTable(Request); DataTableResultModel viewModel = LogicManager.GenerateApprovalDataTableResultViewModel(requestModel, dataTable); return Json(viewModel, JsonRequestBehavior.AllowGet); }
public void InitializeTest() { Target = new DataTableBinder(); DataTable = MockRepository.GenerateMock <IClientDataTable <Program> >(); RequestModel = new DataTableRequestModel(); }
public JsonResult DataTableAjaxHandler(DataTableRequestModel requestModel) { var dataTable = CreateClientDataTable(); var viewModel = LogicManager.GenerateDataTableResultViewModel(requestModel, dataTable); return Json(viewModel, JsonRequestBehavior.AllowGet); }
private static DataTableResultModel BindCore <TEntity>(IQueryable <TEntity> items, IClientDataTable <TEntity> dataTable, DataTableRequestModel requestModel) { IQueryable <TEntity> query = dataTable.ApplyFilters(items); query = dataTable.ApplySort(query); var resultSet = dataTable.CreateResultSet(query, requestModel); return(new DataTableResultModel { sEcho = requestModel.sEcho, iTotalRecords = items.Count(), iTotalDisplayRecords = query.Count(), aaData = resultSet }); }
public override DataTableResultModel GenerateDataTableResultViewModel(DataTableRequestModel requestModel, IClientDataTable<CustomField> dataTable) { IQueryable<CustomField> items = CustomFieldRepository.Items.OfType<PrivateHealthField>(); return DataTableBinder.Bind<CustomField>(items, dataTable, requestModel); }
public DataTableResultModel GenerateAuditLoginDataTableResultViewModel(DataTableRequestModel requestModel, IClientDataTable<LoginEvent> dataTable) { if (requestModel == null) { throw new ArgumentNullException("requestModel"); } IQueryable<LoginEvent> items = LoginEventRepository.Items; return DataTableBinder.Bind<LoginEvent>(items, dataTable, requestModel); }
public void WhenGenerateDataTableResultViewModel_ThenSucceed() { EducationSecurityPrincipal user = new EducationSecurityPrincipal(EducationContext.Users.First()); DataTableRequestModel model = new DataTableRequestModel(); ProviderClientDataTable dataTable = new ProviderClientDataTable(MockHttpContextFactory.CreateRequest(), user); Target.GenerateDataTableResultViewModel(model, dataTable); }
private void AssertDataTableAjaxHandler(bool expectedIsAdministrator) { var expected = new DataTableResultModel(); var requestModel = new DataTableRequestModel(); MockLogicManager.Expect(m => m.GenerateDataTableResultViewModel(requestModel, null)).IgnoreArguments().Do(new Func<DataTableRequestModel, IClientDataTable<ServiceType>, DataTableResultModel>((p, r) => { ServiceTypeClientDataTable castR = r as ServiceTypeClientDataTable; Assert.IsNotNull(castR); Assert.AreEqual(expectedIsAdministrator, castR.IsAdministrator); return expected; })); JsonResult result = Target.DataTableAjaxHandler(requestModel); result.AssertGetData(expected); }
public void WhenDataTableAjaxHandler_ThenJsonContainsGeneratedViewModel() { DataTableRequestModel model = new DataTableRequestModel(); DataTableResultModel expected = new DataTableResultModel(); MockLogicManager.Expect(m => m.GenerateDataTableResultViewModel(Arg.Is(model), Arg<IClientDataTable<ServiceOffering>>.Is.NotNull)).Return(expected); JsonResult result = Target.DataTableAjaxHandler(model); result.AssertGetData(expected); }
public DataTableResultModel GenerateDataTableResultViewModel(DataTableRequestModel requestModel, IClientDataTable<Program> dataTable) { IQueryable<Program> items = ProgramRepository.Items.Where(p => p.IsActive); return DataTableBinder.Bind<Program>(items, dataTable, requestModel); }
public void GivenValidModelWithId_WhenDataTableAjaxHandler_ThenJSonResultReturned() { HttpRequestBase MockRequest = MockRepository.GenerateMock<HttpRequestBase>(); MockRequest.Expect(m => m["id"]).Return("1"); DataTableRequestModel model = new DataTableRequestModel(); MockHttpContext.Expect(c => c.Request).Return(MockRequest).Repeat.Any(); var result = Target.DataTableAjaxHandler(model) as JsonResult; Assert.IsNotNull(result); }