//the partial view for transcript public PartialViewResult TranscriptTemplate(int id) { StudentTranscriptViewModel model = new StudentTranscriptViewModel { Student = db.Students.Where(x => x.StudentId.Equals((int)id)).FirstOrDefault(), Courses = db.CourseGrades.Where(x => x.StudentId.Equals((int)id)).Include(x => x.Course) .ToList(), Cgpas = db.Results.Where(x => x.StudentId.Equals((int)id)).Include(x => x.CourseGrades).ToList() }; return(PartialView(model)); }
public async Task GetStudentTranscriptBySchoolIdAsync_should_return_expected_value() { // Arrange: var studentNumber = "AP-API-IT"; var studentName = "IntegrationTests, ApplicationPlanner.API"; var dob = "2000/01/01"; var dobParts = dob.Split('/'); var expectedValue = new StudentTranscriptViewModel { Id = integrationTestPortfolioId, UserAccountId = 293945, AvatarFileName = null, SchoolCountryType = CC.Common.Enum.CountryType.US, StudentName = studentName, DateOfBirth = new DateTime(int.Parse(dobParts[0]), int.Parse(dobParts[1]), int.Parse(dobParts[2])), GradeId = 11, GradeKey = "GRADE_11", StudentId = studentNumber, TranscriptId = 1000000, // We know in Xello TranscriptId starts at 1000000 ReceivedDateUtc = null }; // Reset await _sql.ExecuteAsync("DELETE FROM ApplicationPlanner.Transcript WHERE PortfolioId = @portfolioId", new { portfolioId = integrationTestPortfolioId }); await _sql.ExecuteAsync("DELETE FROM ApplicationPlanner.TranscriptLog WHERE StudentNumber = @studentNumber", new { studentNumber }); // Import a transcript and automatch it to the integration test student await _qaRepository.ImportTranscriptAsync(integrationTestPortfolioId, integrationTestSchoolId, studentNumber, studentName, dob, "*****@*****.**"); // Act: var result = (await _transcriptRepository.GetStudentTranscriptBySchoolIdAsync(integrationTestSchoolId)).ToList(); // Assert: Assert.IsTrue(result.IsNotNullOrEmpty()); Assert.IsTrue(result.Count >= 1); var justAddedTranscript = result.SingleOrDefault(t => t.StudentId == studentNumber); Assert.IsTrue(justAddedTranscript != null); Assert.AreEqual(expectedValue.Id, justAddedTranscript.Id); Assert.AreEqual(expectedValue.UserAccountId, justAddedTranscript.UserAccountId); Assert.AreEqual(expectedValue.AvatarFileName, justAddedTranscript.AvatarFileName); Assert.AreEqual(expectedValue.SchoolCountryType, justAddedTranscript.SchoolCountryType); Assert.AreEqual(expectedValue.StudentName, justAddedTranscript.StudentName); Assert.AreEqual(expectedValue.DateOfBirth, justAddedTranscript.DateOfBirth); Assert.AreEqual(expectedValue.GradeId, justAddedTranscript.GradeId); Assert.AreEqual(expectedValue.GradeKey, justAddedTranscript.GradeKey); Assert.AreEqual(expectedValue.StudentId, justAddedTranscript.StudentId); Assert.IsTrue(expectedValue.TranscriptId <= justAddedTranscript.TranscriptId); // the id for the new transcript should be >= than the min allowed Assert.IsTrue(justAddedTranscript.ReceivedDateUtc != null); }
public async Task GetStudentTranscriptResponseModelAsync_should_set_all_properties() { // Arrange var input = new StudentTranscriptViewModel { Id = 15829045, UserAccountId = 5678, SchoolCountryType = CountryType.US, AvatarFileName = "", StudentName = "Todd, Motto", DateOfBirth = DateTime.Now.AddYears(-17), GradeId = 11, GradeKey = "GRADE_11", StudentId = "STUD-1234", TranscriptId = null, ReceivedDateUtc = null }; var timezoneDetails = new TimeZoneDetailModel { SQLKey = "Eastern Standard Time" }; _mockAvatarService.Setup(x => x.GetStudentAvatarDefaultUrl()).Returns(_avatarUrl); _mockTimeZoneRepository.Setup(x => x.GeTimeZoneIdByPortfolioIdAsync(It.IsAny <int>())).ReturnsAsync(1); _mockTimeZoneRepository.Setup(x => x.GeTimeZoneDetailByIdAsync(It.IsAny <int>())).ReturnsAsync(timezoneDetails); // Act var result = await CreateService().GetStudentTranscriptResponseModelAsync(new List <StudentTranscriptViewModel> { input }); // Assert Assert.AreEqual(input.Id, result.First().Id); Assert.AreEqual(_avatarUrl, result.First().AvatarUrl); Assert.AreEqual(input.StudentName, result.First().StudentName); Assert.AreEqual(input.DateOfBirth, result.First().DateOfBirth); Assert.AreEqual(input.GradeId, result.First().GradeId); Assert.AreEqual(input.GradeKey, result.First().GradeKey); Assert.AreEqual(input.StudentId, result.First().StudentId); Assert.AreEqual(input.TranscriptId, result.First().TranscriptId); Assert.AreEqual(input.ReceivedDateUtc, result.First().ReceivedDateUtc); }
public async Task GetStudentTranscriptByPortfolioIdAsync_should_return_expected_value() { // Arrange: var studentNumber = "AP-API-IT"; var studentName = "IntegrationTests, ApplicationPlanner.API"; var dob = "2000/01/01"; var dobParts = dob.Split('/'); var expectedValue = new StudentTranscriptViewModel { Id = integrationTestPortfolioId, UserAccountId = 293945, AvatarFileName = null, SchoolCountryType = CC.Common.Enum.CountryType.US, StudentName = studentName, StudentId = studentNumber, ReceivedDateUtc = null }; // Reset await _sql.ExecuteAsync("DELETE FROM ApplicationPlanner.Transcript WHERE PortfolioId = @portfolioId", new { portfolioId = integrationTestPortfolioId }); await _sql.ExecuteAsync("DELETE FROM ApplicationPlanner.TranscriptLog WHERE StudentNumber = @studentNumber", new { studentNumber }); // Import a transcript and automatch it to the integration test student await _qaRepository.ImportTranscriptAsync(integrationTestPortfolioId, integrationTestSchoolId, studentNumber, studentName, dob, "*****@*****.**"); // Act: var result = await _transcriptRepository.GetStudentTranscriptByPortfolioIdAsync(integrationTestPortfolioId); // Assert: Assert.IsTrue(result != null); Assert.AreEqual(expectedValue.Id, result.Id); Assert.AreEqual(expectedValue.UserAccountId, result.UserAccountId); Assert.AreEqual(expectedValue.AvatarFileName, result.AvatarFileName); Assert.AreEqual(expectedValue.SchoolCountryType, result.SchoolCountryType); Assert.AreEqual(expectedValue.StudentName, result.StudentName); Assert.AreEqual(expectedValue.StudentId, result.StudentId); Assert.IsTrue(result.ReceivedDateUtc != null); }
// GET: Students/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TranscriptTemplate((int)id); StudentTranscriptViewModel model = new StudentTranscriptViewModel { Student = db.Students.Where(x => x.StudentId.Equals((int)id)).FirstOrDefault(), Courses = db.CourseGrades.Where(x => x.StudentId.Equals((int)id)).Include(x => x.Course) .ToList(), Cgpas = db.Results.Where(x => x.StudentId.Equals((int)id)).Include(x => x.CourseGrades).ToList() }; //.Include(x => x.Cgpas).Where(x => x.StudentId.Equals(id)).ToList(); if (model == null) { return(HttpNotFound()); } return(View(model)); }
public async Task <StudentTranscriptResponseModel> GetStudentTranscriptResponseModelAsync(StudentTranscriptViewModel studentTranscript, int portfolioId) { var timeZoneId = await _timeZoneRepository.GeTimeZoneIdByPortfolioIdAsync(portfolioId); var timeZoneDetail = await _timeZoneRepository.GeTimeZoneDetailByIdAsync(timeZoneId); return(new StudentTranscriptResponseModel() { Id = studentTranscript.Id, AvatarUrl = string.IsNullOrWhiteSpace(studentTranscript.AvatarFileName) ? _avatarService.GetStudentAvatarDefaultUrl() : _avatarService.GetStudentAvatarUrl(studentTranscript), StudentName = studentTranscript.StudentName, DateOfBirth = studentTranscript.DateOfBirth, GradeId = studentTranscript.GradeId, GradeKey = studentTranscript.GradeKey, StudentId = studentTranscript.StudentId, TranscriptId = studentTranscript.TranscriptId, ReceivedDateUtc = studentTranscript.ReceivedDateUtc == null ? studentTranscript.ReceivedDateUtc : DateTimeHelper.GetLocalTime(studentTranscript.ReceivedDateUtc ?? default(DateTime), timeZoneDetail) }); }
public async Task GetTranscriptRequestProgressForStudent_should_return_ok_with_result() { // Arrange: var studentTranscript = new StudentTranscriptViewModel { Id = 15829045, UserAccountId = 5678, SchoolCountryType = CountryType.US, AvatarFileName = "avatar.jpg", StudentName = "Mike, Cohn", DateOfBirth = DateTime.Now.AddYears(-17), GradeId = 11, GradeKey = "GRADE_11", StudentId = "STUD-1234", TranscriptId = null, ReceivedDateUtc = null }; _mockTranscriptRepository.Setup(t => t.GetStudentTranscriptByPortfolioIdAsync(It.IsAny <int>())).ReturnsAsync(studentTranscript); var studentTranscriptResponse = new StudentTranscriptResponseModel { Id = 15829045, AvatarUrl = "http://avatarrepos/avatar.jpg", StudentName = "Mike, Cohn", DateOfBirth = DateTime.Now.AddYears(-17), GradeId = 11, GradeKey = "GRADE_11", StudentId = "STUD-1234", TranscriptId = null, ReceivedDateUtc = null }; _mockTranscriptService.Setup(ts => ts.GetStudentTranscriptResponseModelAsync(It.IsAny <StudentTranscriptViewModel>(), It.IsAny <int>())).ReturnsAsync(studentTranscriptResponse); var progress = new List <TranscriptRequestTimelineResponseModel> { new TranscriptRequestTimelineResponseModel { Id = 123, InstitutionCard = new SavedSchool { Institution = new TranscriptInstitutionModel { InunId = "123", Name = "Institution Name", ImageName = "institution.jpg", City = "City", StateProvCode = "SC", StateProvName = "State" }, IsSavedSchool = true }, History = new List <TranscriptRequestHistoryEvent> { new TranscriptRequestHistoryEvent { IsCreatedByStudent = true, Status = TranscriptRequestStatus.Requested, StatusDate = new DateTime(), TranscriptRequestType = TranscriptRequestType.InNetwork } } } }; _mockTranscriptRequestService.Setup(rs => rs.GetTranscriptRequestsTimelineByPortfolioIdAsync(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>())).ReturnsAsync(progress); // Act var actionResult = await CreateController().GetTranscriptRequestProgressForStudent(1); //Assert var contentResult = new OkObjectResult(actionResult); Assert.AreEqual(StatusCodes.Status200OK, contentResult.StatusCode); var response = Result <StudentRequestProgressResponseModel>(actionResult); Assert.IsNotNull(response); }