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); }