feat: Add legal compliance changes
- Replace 'diploma mill' language with objective 'unaccredited institution' terminology - Rename DiplomaMills.cs to UnaccreditedInstitutions.cs with neutral language - Update EducationVerificationResult.IsUnaccredited property - Update flag titles to 'Unaccredited Institution' and 'Institution Requires Verification' - Add legal disclaimer to verification report page - Add Privacy Policy page (/privacy) with UK GDPR compliance info - Add Terms of Service page (/terms) with candidate notice requirements - Add footer links to Privacy and Terms pages - Update all tests to use new terminology 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -8,14 +8,14 @@ public sealed class EducationVerifierServiceTests
|
||||
{
|
||||
private readonly EducationVerifierService _sut = new();
|
||||
|
||||
#region Diploma Mill Detection
|
||||
#region Unaccredited Institution Detection
|
||||
|
||||
[Theory]
|
||||
[InlineData("Belford University")]
|
||||
[InlineData("Ashwood University")]
|
||||
[InlineData("Rochville University")]
|
||||
[InlineData("St Regis University")]
|
||||
public void Verify_DiplomaMillInstitution_ReturnsDiplomaMill(string institution)
|
||||
public void Verify_UnaccreditedInstitution_ReturnsUnaccredited(string institution)
|
||||
{
|
||||
// Arrange
|
||||
var education = new EducationEntry
|
||||
@@ -31,14 +31,14 @@ public sealed class EducationVerifierServiceTests
|
||||
var result = _sut.Verify(education);
|
||||
|
||||
// Assert
|
||||
result.Status.Should().Be("DiplomaMill");
|
||||
result.IsDiplomaMill.Should().BeTrue();
|
||||
result.Status.Should().Be("Unaccredited");
|
||||
result.IsUnaccredited.Should().BeTrue();
|
||||
result.IsSuspicious.Should().BeTrue();
|
||||
result.IsVerified.Should().BeFalse();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Verify_DiplomaMillInstitution_IncludesVerificationNotes()
|
||||
public void Verify_UnaccreditedInstitution_IncludesVerificationNotes()
|
||||
{
|
||||
// Arrange
|
||||
var education = new EducationEntry
|
||||
@@ -51,7 +51,7 @@ public sealed class EducationVerifierServiceTests
|
||||
var result = _sut.Verify(education);
|
||||
|
||||
// Assert
|
||||
result.VerificationNotes.Should().Contain("diploma mill blacklist");
|
||||
result.VerificationNotes.Should().Contain("QAA/HESA register");
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -76,7 +76,7 @@ public sealed class EducationVerifierServiceTests
|
||||
// Assert
|
||||
result.Status.Should().Be("Suspicious");
|
||||
result.IsSuspicious.Should().BeTrue();
|
||||
result.IsDiplomaMill.Should().BeFalse();
|
||||
result.IsUnaccredited.Should().BeFalse();
|
||||
result.IsVerified.Should().BeFalse();
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ public sealed class EducationVerifierServiceTests
|
||||
// Assert
|
||||
result.Status.Should().Be("Recognised");
|
||||
result.IsVerified.Should().BeTrue();
|
||||
result.IsDiplomaMill.Should().BeFalse();
|
||||
result.IsUnaccredited.Should().BeFalse();
|
||||
result.IsSuspicious.Should().BeFalse();
|
||||
result.MatchedInstitution.Should().Be(expectedMatch);
|
||||
}
|
||||
@@ -167,7 +167,7 @@ public sealed class EducationVerifierServiceTests
|
||||
// Assert
|
||||
result.Status.Should().Be("Unknown");
|
||||
result.IsVerified.Should().BeFalse();
|
||||
result.IsDiplomaMill.Should().BeFalse();
|
||||
result.IsUnaccredited.Should().BeFalse();
|
||||
result.IsSuspicious.Should().BeFalse();
|
||||
result.VerificationNotes.Should().Contain("international institution");
|
||||
}
|
||||
@@ -289,7 +289,7 @@ public sealed class EducationVerifierServiceTests
|
||||
// Assert
|
||||
results.Should().HaveCount(3);
|
||||
results[0].Status.Should().Be("Recognised");
|
||||
results[1].Status.Should().Be("DiplomaMill");
|
||||
results[1].Status.Should().Be("Unaccredited");
|
||||
results[2].Status.Should().Be("Unknown");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user