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>
58 lines
1.8 KiB
C#
58 lines
1.8 KiB
C#
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"));
|
|
}
|
|
}
|