Store leftover CSV columns on hidden student notes, move catalog import to /events/import, and persist Students index columns from Chapter Settings. Co-authored-by: Cursor <cursoragent@cursor.com>
31 lines
1.1 KiB
C#
31 lines
1.1 KiB
C#
using Core.Parsers;
|
|
|
|
namespace Tests.Parsers;
|
|
|
|
[TestFixture]
|
|
public class StudentImportCsvTemplate_Tests
|
|
{
|
|
[Test]
|
|
public void Build_IncludesRosterAndDefaultLeftoverColumns()
|
|
{
|
|
var csv = StudentImportCsvTemplate.Build();
|
|
var header = csv.Split('\n')[0].TrimEnd('\r');
|
|
|
|
Assert.That(header, Does.StartWith("Student Name,Grade,TSA year,State ID,Regional ID,National ID"));
|
|
Assert.That(header, Does.Contain("Interview Time"));
|
|
Assert.That(header, Does.Contain("Application"));
|
|
Assert.That(csv, Does.Contain("\"Last, First\""));
|
|
}
|
|
|
|
[Test]
|
|
public void Build_UsesConfiguredLeftoverFields_AndSkipsReserved()
|
|
{
|
|
var csv = StudentImportCsvTemplate.Build(["Teacher Rec 1", "Grade", " Application "]);
|
|
var header = csv.Split('\n')[0].TrimEnd('\r');
|
|
|
|
Assert.That(header, Does.Contain("Teacher Rec 1"));
|
|
Assert.That(header, Does.Contain("Application"));
|
|
Assert.That(header.Split(',').Count(c => c.Equals("Grade", StringComparison.OrdinalIgnoreCase)), Is.EqualTo(1));
|
|
}
|
|
}
|