public void BuildShouldNotApplyOptionalCriteriaIfNotIncluded() { dynamic model = new ExpandoObject(); model.NumberOfPupils = 100; var financeDoc = new Microsoft.Azure.Documents.Document(); financeDoc.SetPropertyValue("No Pupils", 100d); financeDoc.SetPropertyValue("Overall Phase", "Secondary"); financeDoc.SetPropertyValue("UrbanRuralInner", "Urban and city"); financeDoc.SetPropertyValue("% of pupils eligible for FSM", 100); financeDoc.SetPropertyValue("% of pupils with SEN Statement", 100); financeDoc.SetPropertyValue("% of pupils with EAL", 100); financeDoc.SetPropertyValue("LA", 831); var benchmarkSchool = new SchoolViewModel(model); benchmarkSchool.HistoricalSchoolFinancialDataModels = new List <SchoolFinancialDataModel>(); benchmarkSchool.HistoricalSchoolFinancialDataModels.Add(new SchoolFinancialDataModel("123", "2014-2015", financeDoc, SchoolFinancialType.Maintained)); var builder = new BenchmarkCriteriaBuilderService(); var criteria = builder.BuildFromSimpleComparisonCriteria(benchmarkSchool.HistoricalSchoolFinancialDataModels.Last(), false, false, false, false, 10); Assert.AreEqual(null, criteria.MinPerFSM); Assert.AreEqual(null, criteria.MaxPerFSM); Assert.AreEqual(null, criteria.MinPerSEN); Assert.AreEqual(null, criteria.MaxPerSEN); Assert.AreEqual(null, criteria.MinPerEAL); Assert.AreEqual(null, criteria.MaxPerEAL); Assert.AreEqual(null, criteria.LocalAuthorityCode); }
public void BuildShouldApplyPercentageMarginForNumberOfPupils() { dynamic model = new ExpandoObject(); model.NumberOfPupils = 100; var financeDoc = new Microsoft.Azure.Documents.Document(); financeDoc.SetPropertyValue("No Pupils", 100d); financeDoc.SetPropertyValue("Overall Phase", "Secondary"); financeDoc.SetPropertyValue("UrbanRuralInner", "Urban and city"); financeDoc.SetPropertyValue("% of pupils eligible for FSM", 100); financeDoc.SetPropertyValue("% of pupils with SEN Statement", 100); financeDoc.SetPropertyValue("% of pupils with EAL", 100); financeDoc.SetPropertyValue("LA", 831); var benchmarkSchool = new SchoolViewModel(model); benchmarkSchool.HistoricalSchoolFinancialDataModels = new List <SchoolFinancialDataModel>(); benchmarkSchool.HistoricalSchoolFinancialDataModels.Add(new SchoolFinancialDataModel("123", "2014-2015", financeDoc, SchoolFinancialType.Maintained)); var builder = new BenchmarkCriteriaBuilderService(); var criteria = builder.BuildFromSimpleComparisonCriteria(benchmarkSchool.HistoricalSchoolFinancialDataModels.Last(), true, true, true, true, 5); Assert.AreEqual(financeDoc.GetPropertyValue <double>("No Pupils") * 0.85, criteria.MinNoPupil); Assert.AreEqual(financeDoc.GetPropertyValue <double>("No Pupils") * 1.15, criteria.MaxNoPupil); }
public async Task <CourseAudit> Audit(ILogger log, Document auditee) { Throw.IfNull(auditee, nameof(auditee)); Throw.IfNull(auditee.GetPropertyValue <Guid>("id"), "Document id"); CourseAudit persisted; Guid id = auditee.GetPropertyValue <Guid>("id"); try { log.LogInformation($"Writing audit for course { id }"); using (var client = _cosmosDbHelper.GetClient()) { await _cosmosDbHelper.CreateDocumentCollectionIfNotExistsAsync(client, _settings.AuditCollectionId); Document doc = await _cosmosDbHelper.CreateDocumentAsync(client, _settings.AuditCollectionId, new CourseAudit() { id = Guid.NewGuid(), Collection = _settings.CoursesCollectionId, DocumentId = id.ToString(), UpdatedBy = auditee.GetPropertyValue <string>("UpdatedBy") ?? auditee.GetPropertyValue <string>("CreatedBy"), UpdatedDate = auditee.GetPropertyValue <DateTime?>("UpdatedDate") ?? DateTime.Now, Document = auditee }); persisted = _cosmosDbHelper.DocumentTo <CourseAudit>(doc); } return(persisted); } catch (Exception ex) { throw ex; } }
public void UpdateActionReturnsCookieWhenAddToComparisonList() { var request = new Mock <HttpRequestBase>(MockBehavior.Strict); var response = new Mock <HttpResponseBase>(MockBehavior.Strict); var context = new Mock <HttpContextBase>(MockBehavior.Strict); context.SetupGet(x => x.Request).Returns(request.Object); context.SetupGet(x => x.Response).Returns(response.Object); var requestCookies = new HttpCookieCollection(); context.SetupGet(x => x.Request.Cookies).Returns(requestCookies); var responseCookies = new HttpCookieCollection(); context.SetupGet(x => x.Response.Cookies).Returns(responseCookies); var rc = new RequestContext(context.Object, new RouteData()); var controller = new SchoolSearchController(_mockLaService.Object, _mockLaSearchService.Object, _mockFilterBuilder.Object, _valService, _mockEdubaseDataService.Object, _mockEdubaseSearchService.Object, _mockTrustSearchService.Object); controller.ControllerContext = new ControllerContext(rc, controller); dynamic testResult = new Microsoft.Azure.Documents.Document(); testResult.URN = "123456"; _mockEdubaseDataService.Setup(m => m.GetSchoolByUrn("123456")).Returns((string urn) => testResult); var result = controller.UpdateBenchmarkBasket(123456, CompareActions.ADD_TO_COMPARISON_LIST); Assert.IsNotNull(result); Assert.AreEqual(1, controller.Response.Cookies.Count); var cookie = JsonConvert.DeserializeObject <ComparisonListModel>(controller.Response.Cookies[CookieNames.COMPARISON_LIST].Value); Assert.AreEqual(1, cookie.BenchmarkSchools.Count); Assert.AreEqual("123456", cookie.BenchmarkSchools[0].Urn); }
public IActionResult ViewCosmoseDbSource(string id, string endpoint, string key, string db, string collection) { var model = new FileSourceCodeVM(); model.FileType = "json"; model.FileName = id; // get source code using (var client = new DocumentClient(new System.Uri(endpoint), key)) { Microsoft.Azure.Documents.Document doc = client.ReadDocumentAsync(UriFactory.CreateDocumentUri(db, collection, id)).Result; model.SourceCode = doc.ToString(); } return(View(model)); }
public async Task SearchActionRedirectsToSchoolViewIfUrnIsUsedAsId() { dynamic testResult = new Microsoft.Azure.Documents.Document(); testResult.URN = "123456"; _mockEdubaseDataService.Setup(m => m.GetSchoolByUrn("123456")).Returns((string urn) => testResult); var controller = new SchoolSearchController(_mockLaService.Object, _mockLaSearchService.Object, _mockFilterBuilder.Object, _valService, _mockEdubaseDataService.Object, _mockEdubaseSearchService.Object, _mockTrustSearchService.Object); var result = await controller.Search("123456", "", SearchTypes.SEARCH_BY_NAME_ID, null, null, null, null, null, null, 0); Assert.IsNotNull(result); Assert.AreEqual("School", (result as RedirectToRouteResult).RouteValues["controller"]); Assert.AreEqual("Detail", (result as RedirectToRouteResult).RouteValues["action"]); Assert.AreEqual("123456", (result as RedirectToRouteResult).RouteValues["urn"]); }
public void UpdateActionCannotAddMoreThanLimitToComparisonList() { var request = new Mock <HttpRequestBase>(MockBehavior.Strict); var response = new Mock <HttpResponseBase>(MockBehavior.Strict); var context = new Mock <HttpContextBase>(MockBehavior.Strict); context.SetupGet(x => x.Request).Returns(request.Object); context.SetupGet(x => x.Response).Returns(response.Object); var requestCookies = new HttpCookieCollection(); var listCookie = new ComparisonListModel(); listCookie.BenchmarkSchools = new List <BenchmarkSchoolViewModel>(); for (int i = 0; i < ComparisonListLimit.LIMIT; i++) { listCookie.BenchmarkSchools.Add(new BenchmarkSchoolViewModel() { Urn = i.ToString(), Name = "test" }); } requestCookies.Add(new HttpCookie(CookieNames.COMPARISON_LIST, JsonConvert.SerializeObject(listCookie))); context.SetupGet(x => x.Request.Cookies).Returns(requestCookies); var responseCookies = new HttpCookieCollection(); context.SetupGet(x => x.Response.Cookies).Returns(responseCookies); var rc = new RequestContext(context.Object, new RouteData()); dynamic testResult = new Microsoft.Azure.Documents.Document(); testResult.URN = "123456"; _mockEdubaseDataService.Setup(m => m.GetSchoolByUrn("123456")).Returns((string urn) => testResult); var controller = new SchoolSearchController(_mockLaService.Object, _mockLaSearchService.Object, _mockFilterBuilder.Object, _valService, _mockEdubaseDataService.Object, _mockEdubaseSearchService.Object, _mockTrustSearchService.Object); controller.ControllerContext = new ControllerContext(rc, controller); var result = controller.UpdateBenchmarkBasket(123456, CompareActions.ADD_TO_COMPARISON_LIST); Assert.IsNotNull(result); Assert.AreEqual(1, controller.Response.Cookies.Count); var cookie = JsonConvert.DeserializeObject <ComparisonListModel>(controller.Response.Cookies[CookieNames.COMPARISON_LIST].Value); Assert.AreEqual(ComparisonListLimit.LIMIT, cookie.BenchmarkSchools.Count); }
private string GetResourceId(Course course, Document document) { return(course != null?course.ProviderUKPRN.ToString() : document.ResourceId); }