feat: add optional student nickname for informal display
Keep legal first and last names for formal lists; show DisplayFirstName on teams, calendars, and import matching so two Josiahs can be told apart. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
using Tests.Builders;
|
||||
|
||||
namespace Tests.Entities;
|
||||
|
||||
[TestFixture]
|
||||
public class Student_Tests
|
||||
{
|
||||
[Test]
|
||||
public void DisplayFirstName_FallsBackToFirstName()
|
||||
{
|
||||
var student = StudentBuilder.Create("Josiah", "Brown").Build();
|
||||
|
||||
Assert.That(student.DisplayFirstName, Is.EqualTo("Josiah"));
|
||||
Assert.That(student.ToString(), Is.EqualTo("Josiah"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DisplayFirstName_UsesTrimmedNickname()
|
||||
{
|
||||
var student = StudentBuilder.Create("Josiah", "Brown").WithNickname(" Jo ").Build();
|
||||
|
||||
Assert.That(student.DisplayFirstName, Is.EqualTo("Jo"));
|
||||
Assert.That(student.ToString(), Is.EqualTo("Jo"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void LegalNameProperties_IgnoreNickname()
|
||||
{
|
||||
var student = StudentBuilder.Create("Josiah", "Brown").WithNickname("Jo").Build();
|
||||
|
||||
Assert.That(student.FirstName, Is.EqualTo("Josiah"));
|
||||
Assert.That(student.LastName, Is.EqualTo("Brown"));
|
||||
Assert.That(student.Name, Is.EqualTo("Josiah Brown"));
|
||||
Assert.That(student.FirstNameLastName, Is.EqualTo("Josiah Brown"));
|
||||
Assert.That(student.LastNameFirstName, Is.EqualTo("Brown, Josiah"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DisplayFirstName_TreatsWhitespaceAsUnset()
|
||||
{
|
||||
var student = StudentBuilder.Create("Josiah", "Brown").WithNickname(" ").Build();
|
||||
|
||||
Assert.That(student.DisplayFirstName, Is.EqualTo("Josiah"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void NormalizeNickname_ClearsBlankAndTrims()
|
||||
{
|
||||
var blank = StudentBuilder.Create("Josiah", "Brown").WithNickname(" ").Build();
|
||||
blank.NormalizeNickname();
|
||||
Assert.That(blank.Nickname, Is.Null);
|
||||
|
||||
var nick = StudentBuilder.Create("Josiah", "Brown").WithNickname(" Jo ").Build();
|
||||
nick.NormalizeNickname();
|
||||
Assert.That(nick.Nickname, Is.EqualTo("Jo"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user