Example #1
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);
        }