Stufe 4c (#764): Bezeichner auf Englisch - Typen, Methoden, Felder, Parameter, Locals, Testnamen
Mit Roslyn umbenannt (Verweise folgen, Zeichenketten bleiben unberuehrt). Nicht umbenannt, weil gespeichert oder ueber die API gebunden (Stufe 4e): Properties, Record-Parameter, Enum-Member sowie die Parameter der Endpunkt-Handler (Routen-/Query-Bindung ueber den Namen). Die JSON-Felder anonymer Objekte bleiben ausdruecklich benannt (JsonFilter: pfad). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
837a634a22
commit
77062facc9
@@ -33,88 +33,88 @@ public sealed class TaskAdministrationTests : IDisposable
|
||||
catch { /* Cleaning up is secondary */ }
|
||||
}
|
||||
|
||||
private async Task<TaskItem> Einzige() => (await _board.ListAsync(new TaskQuery(), default)).Single();
|
||||
private async Task<TaskItem> Single() => (await _board.ListAsync(new TaskQuery(), default)).Single();
|
||||
|
||||
[Fact]
|
||||
public async Task Ein_Termin_der_nie_feuern_kann_wird_nicht_gespeichert()
|
||||
public async Task A_schedule_that_can_never_fire_is_not_saved()
|
||||
{
|
||||
var ergebnis = await _admin.CreateAsync(new TaskInput(
|
||||
var result = await _admin.CreateAsync(new TaskInput(
|
||||
"Nachrichten-Digest", Assignee: "@new:nachrichten",
|
||||
WhenKind: "cron", WhenValue: "0 7-22/x * * *", TimeZone: "Europe/Berlin"), default);
|
||||
|
||||
ergebnis.Ok.ShouldBeFalse();
|
||||
ergebnis.Message.ShouldContain("keine Zahl");
|
||||
result.Ok.ShouldBeFalse();
|
||||
result.Message.ShouldContain("keine Zahl");
|
||||
(await _board.ListAsync(new TaskQuery(), default)).ShouldBeEmpty();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Wiederkehrend_im_Chatverlauf_wird_angelegt_aber_mit_Hinweis()
|
||||
public async Task Recurring_in_chat_history_is_created_but_with_a_hint()
|
||||
{
|
||||
var ergebnis = await _admin.CreateAsync(new TaskInput(
|
||||
var result = await _admin.CreateAsync(new TaskInput(
|
||||
"Nachrichten-Digest", Assignee: "@nachrichten",
|
||||
WhenKind: "cron", WhenValue: "0 7-22/3 * * *", TimeZone: "Europe/Berlin"), default);
|
||||
|
||||
ergebnis.Ok.ShouldBeTrue();
|
||||
ergebnis.Message.ShouldContain("@new:nachrichten");
|
||||
result.Ok.ShouldBeTrue();
|
||||
result.Message.ShouldContain("@new:nachrichten");
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData("@new:gibtsnicht")]
|
||||
[InlineData("@gibtsnicht")]
|
||||
[InlineData("")]
|
||||
public async Task Ohne_gueltige_Zuordnung_entsteht_keine_Aufgabe(string assignee)
|
||||
public async Task Without_a_valid_assignment_no_task_is_created(string assignee)
|
||||
=> (await _admin.CreateAsync(new TaskInput("X", Assignee: assignee), default)).Ok.ShouldBeFalse();
|
||||
|
||||
[Fact]
|
||||
public async Task Pausieren_und_Aktivieren_setzen_backlog_und_todo()
|
||||
public async Task Pausing_and_activating_set_backlog_and_todo()
|
||||
{
|
||||
await _admin.CreateAsync(new TaskInput("Wetter", Assignee: "@new:wetterdienst", WhenKind: "cron", WhenValue: "5 * * * *"), default);
|
||||
var id = (await Einzige()).Id;
|
||||
var id = (await Single()).Id;
|
||||
|
||||
(await _admin.SetEnabledAsync(id, false, default)).Ok.ShouldBeTrue();
|
||||
(await Einzige()).Status.ShouldBe(TaskItemStatus.Backlog);
|
||||
(await Single()).Status.ShouldBe(TaskItemStatus.Backlog);
|
||||
|
||||
(await _admin.SetEnabledAsync(id, true, default)).Ok.ShouldBeTrue();
|
||||
(await Einzige()).Status.ShouldBe(TaskItemStatus.Todo);
|
||||
(await Single()).Status.ShouldBe(TaskItemStatus.Todo);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Die_Liste_nennt_den_naechsten_Lauf()
|
||||
public async Task The_list_names_the_next_run()
|
||||
{
|
||||
await _admin.CreateAsync(new TaskInput("Wetter", Assignee: "@new:wetterdienst", WhenKind: "cron", WhenValue: "5 * * * *", TimeZone: "Europe/Berlin"), default);
|
||||
|
||||
var zeile = (await _admin.ListAsync(50, default))!.Single();
|
||||
var line = (await _admin.ListAsync(50, default))!.Single();
|
||||
|
||||
zeile.NextRunUtc.ShouldNotBeNull();
|
||||
zeile.Hinweis.ShouldBeNull();
|
||||
zeile.LastRun.ShouldBeNull();
|
||||
line.NextRunUtc.ShouldNotBeNull();
|
||||
line.Hinweis.ShouldBeNull();
|
||||
line.LastRun.ShouldBeNull();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Bearbeiten_aendert_den_Termin()
|
||||
public async Task Editing_changes_the_schedule()
|
||||
{
|
||||
await _admin.CreateAsync(new TaskInput("Wetter", Assignee: "@new:wetterdienst", WhenKind: "cron", WhenValue: "5 * * * *"), default);
|
||||
var id = (await Einzige()).Id;
|
||||
var id = (await Single()).Id;
|
||||
|
||||
var ergebnis = await _admin.UpdateAsync(id, new TaskInput("Wetter", Assignee: "@new:wetterdienst", WhenKind: "every", WhenValue: "2h"), default);
|
||||
var result = await _admin.UpdateAsync(id, new TaskInput("Wetter", Assignee: "@new:wetterdienst", WhenKind: "every", WhenValue: "2h"), default);
|
||||
|
||||
ergebnis.Ok.ShouldBeTrue();
|
||||
(await Einzige()).When!.Kind.ShouldBe(TaskWhenKind.Every);
|
||||
result.Ok.ShouldBeTrue();
|
||||
(await Single()).When!.Kind.ShouldBe(TaskWhenKind.Every);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Sofortlauf_ohne_Scanner_wird_abgelehnt_statt_still_nichts_zu_tun()
|
||||
public async Task Immediate_run_without_scanner_is_rejected_instead_of_silently_doing_nothing()
|
||||
{
|
||||
await _admin.CreateAsync(new TaskInput("Wetter", Assignee: "@new:wetterdienst"), default);
|
||||
|
||||
var ergebnis = await _admin.RunNowAsync((await Einzige()).Id, default);
|
||||
var result = await _admin.RunNowAsync((await Single()).Id, default);
|
||||
|
||||
ergebnis.Ok.ShouldBeFalse();
|
||||
ergebnis.Message.ShouldContain("Scanner");
|
||||
result.Ok.ShouldBeFalse();
|
||||
result.Message.ShouldContain("Scanner");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Ohne_Taskboard_liefert_die_Liste_null()
|
||||
public async Task Without_taskboard_the_list_returns_null()
|
||||
=> (await new TaskAdministration(null, null, null, null, null, () => _agents, NullLogger.Instance)
|
||||
.ListAsync(10, default)).ShouldBeNull();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user