Пример #1
0
        //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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        // 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));
        }
Пример #6
0
        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)
            });
        }
Пример #7
0
        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);
        }