public async Task Should_display_expected_items() { using var client = _factory.CreateAuthenticatedClient(); var response = await client.GetAsync("/"); response.StatusCode.Should().Be(HttpStatusCode.OK); var responseContent = await response.Content.ReadAsStringAsync(); responseContent.Should().Contain("Logout") .And.Contain("1 overdue and 1 due today (2)") .And.Contain("All (3)") .And.Contain("All upcoming (2)") .And.Contain("Test list (1)") .And.Contain("Test item 1") .And.Contain("Test item 2") .And.Contain("Test item 3") .And.Contain("Due yesterday") .And.Contain("Repeats every day") .And.Contain("Due today"); }
public async Task Should_add_two_items_then_mark_one_as_done_then_undo_all_then_redo_all() { var fixture = new Fixture(); var firstTaskDescription = fixture.Create <string>(); var secondTaskDescription = fixture.Create <string>(); using var client = _factory.CreateAuthenticatedClient(); using var response = await client.GetAsync("/"); response.StatusCode.Should().Be(HttpStatusCode.OK); var responseContent = await response.Content.ReadAsStringAsync(); responseContent.Should().Contain("Logout") .And.Contain("All (0)") .And.Contain("All upcoming (0)") .And.Contain("Test list (0)") .And.NotContain("Undo") .And.NotContain("Redo"); responseContent = await AddItemAsync(client, responseContent, firstTaskDescription); responseContent.Should().Contain("All (1)") .And.Contain("All upcoming (0)") .And.Contain("Test list (1)") .And.Contain(firstTaskDescription) .And.Contain("Undo") .And.NotContain("Redo"); responseContent = await AddItemAsync(client, responseContent, secondTaskDescription); responseContent.Should().Contain("All (2)") .And.Contain("All upcoming (0)") .And.Contain("Test list (2)") .And.Contain(firstTaskDescription) .And.Contain(secondTaskDescription) .And.Contain("Undo") .And.NotContain("Redo"); responseContent = await MarkItemDoneAsync(client, responseContent, firstTaskDescription); responseContent.Should().Contain("All (1)") .And.Contain("All upcoming (0)") .And.Contain("Test list (1)") .And.Contain(secondTaskDescription) .And.Contain("Undo") .And.NotContain("Redo"); responseContent = await UndoAsync(client, responseContent); responseContent.Should().Contain("All (2)") .And.Contain("All upcoming (0)") .And.Contain("Test list (2)") .And.Contain(firstTaskDescription) .And.Contain(secondTaskDescription) .And.Contain("Undo") .And.Contain("Redo"); responseContent = await UndoAsync(client, responseContent); responseContent.Should().Contain("All (1)") .And.Contain("All upcoming (0)") .And.Contain("Test list (1)") .And.Contain(firstTaskDescription) .And.NotContain(secondTaskDescription) .And.Contain("Undo") .And.Contain("Redo"); responseContent = await UndoAsync(client, responseContent); responseContent.Should().Contain("All (0)") .And.Contain("All upcoming (0)") .And.Contain("Test list (0)") .And.NotContain(firstTaskDescription) .And.NotContain(secondTaskDescription) .And.NotContain("Undo") .And.Contain("Redo"); responseContent = await RedoAsync(client, responseContent); responseContent.Should().Contain("All (1)") .And.Contain("All upcoming (0)") .And.Contain("Test list (1)") .And.Contain(firstTaskDescription) .And.NotContain(secondTaskDescription) .And.Contain("Undo") .And.Contain("Redo"); responseContent = await RedoAsync(client, responseContent); responseContent.Should().Contain("All (2)") .And.Contain("All upcoming (0)") .And.Contain("Test list (2)") .And.Contain(firstTaskDescription) .And.Contain(secondTaskDescription) .And.Contain("Undo") .And.Contain("Redo"); responseContent = await RedoAsync(client, responseContent); responseContent.Should().Contain("All (1)") .And.Contain("All upcoming (0)") .And.Contain("Test list (1)") .And.NotContain(firstTaskDescription) .And.Contain(secondTaskDescription) .And.Contain("Undo") .And.NotContain("Redo"); }