Stundenplan: Dropdown für Unterrichtsansicht/Sitzplan/Planung/Planungsviewer
Die zwei Buttons in der "Heute"-Tagesliste mit teils vom Lesson-Status
abhängiger Doppelbedeutung ("Verlaufsplan ansehen"/"Zur Lerngruppe") waren
unklar. Ersetzt durch ein Dropdown mit vier ausdrücklich benannten Zielen;
drei nutzen bestehende Commands, "Sitzplan" (Sitzpläne-Tab) ist neu und
bisher nur indirekt über den Unterrichtsmodus erreichbar gewesen.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1177,3 +1177,45 @@ public sealed class TimetableViewModelTests
|
||||
Assert.False(vm.HasUntisMismatch);
|
||||
}
|
||||
}
|
||||
|
||||
/// Nutzer-Feedback: unklar, wie man aus der "Heute"-Tagesliste zwischen Unterrichtsansicht,
|
||||
/// Sitzplan, Planung und Planungsviewer wechselt — TodayLessonItem.DestinationOptions ersetzt die
|
||||
/// bisherigen zwei Buttons durch ein Dropdown mit ausdrücklich benannten Zielen.
|
||||
public sealed class TodayLessonItemDestinationOptionsTests
|
||||
{
|
||||
[Fact]
|
||||
public void MitLesson_BietetAlleVierZiele()
|
||||
{
|
||||
var lesson = new Lesson { Topic = "Redox" };
|
||||
var item = new TodayLessonItem(Guid.NewGuid(), 3, "Q1 Chemie", "R204",
|
||||
"#4C8DFF", "Redox", null, lesson: lesson);
|
||||
|
||||
Assert.True(item.HasDestinationOptions);
|
||||
Assert.Equal(
|
||||
[
|
||||
TimetableLessonDestination.TeachingMode, TimetableLessonDestination.Viewer,
|
||||
TimetableLessonDestination.SeatingPlan, TimetableLessonDestination.Planning,
|
||||
],
|
||||
item.DestinationOptions.Select(o => o.Kind));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void OhneLesson_BietetNurSitzplanUndPlanung()
|
||||
{
|
||||
var item = new TodayLessonItem(Guid.NewGuid(), 3, "Q1 Chemie", "R204",
|
||||
"#4C8DFF", null, null);
|
||||
|
||||
Assert.Equal(
|
||||
[TimetableLessonDestination.SeatingPlan, TimetableLessonDestination.Planning],
|
||||
item.DestinationOptions.Select(o => o.Kind));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void OhneGroupId_BietetKeineZiele()
|
||||
{
|
||||
var item = TodayLessonItem.ForSubstitution(3, new SubstitutionEntry { GroupId = null, Description = "Vertretung" });
|
||||
|
||||
Assert.False(item.HasDestinationOptions);
|
||||
Assert.Empty(item.DestinationOptions);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user