public async Task Then_Returns_Null_If_No_Learner_Found(GetApprovalsLearnerRecordRequest request)
        {
            // Arrange.

            // Act.
            var result = await _sut.Handle(request, new CancellationToken());

            // Assert.
            result.Should().BeNull();
        }
        public async Task ThenCallGetOnLearnerRepository(GetApprovalsLearnerRecordRequest request)
        {
            // Arrange.

            // Act.
            await _sut.Handle(request, new CancellationToken());

            // Assert.
            _learnerRepositoryMock.Verify(m => m.Get(request.Uln, request.StdCode));
        }
        public async Task Then_Return_Learner_If_Found(GetApprovalsLearnerRecordRequest request, Domain.Entities.Learner learner)
        {
            // Arrange.
            _learnerRepositoryMock.Setup(s => s.Get(request.Uln, request.StdCode)).ReturnsAsync(learner);
            // Act.

            var result = await _sut.Handle(request, new CancellationToken());

            // Assert.
            result.Should().BeEquivalentTo(new
            {
                learner.Uln,
                learner.FamilyName,
                learner.GivenNames,
                StandardCode = learner.StdCode,
                learner.Version,
                learner.VersionConfirmed,
                learner.CourseOption
            });
        }