The composer completes mentions and hashtags
A mention or hashtag being written at the end of the words is offered, once typing pauses, the accounts or tags PrivaPub already knows (/api/v2/search, never resolving); a click writes it out. e2e: a town persona's handle, begun, is offered and completed. CLAUDE.md also says that FEP-5624's moderated comments (PeerTube) show as pending on a card, as GoToSocial's policies do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
1 parent
658683f816
commit
511edf3591
4 files changed
+102
-4
No files matched your search
@@ -59,6 +59,29 @@ namespace decePubClient.E2E.Actions
|
||||
}
|
||||
}
|
||||
|
||||
// a mention being written is offered the accounts PrivaPub knows, and a click writes the whole handle out
|
||||
[Fact]
|
||||
public async Task A_mention_being_written_is_completed_from_the_accounts_the_server_knows()
|
||||
{
|
||||
var personas = Pasture.Personas();
|
||||
Assert.SkipWhen(personas.Count < 2, "the town has one persona");
|
||||
var (author, other) = (personas[0], personas[1]);
|
||||
var acct = (await PersonaApi.Call(other, "/api/v1/accounts/verify_credentials"))!["acct"]!.GetValue<string>();
|
||||
await using var session = await SignIn.As(browser, author);
|
||||
var page = session.Page;
|
||||
await Results.Cell("client.action.mention-suggestion", "privapub", author.UserName, async () =>
|
||||
{
|
||||
await OpenHome(page);
|
||||
await page.GetByRole(AriaRole.Button, new() { Name = "Post" }).First.ClickAsync();
|
||||
var box = page.Locator("textarea[data-compose]").First;
|
||||
await box.FillAsync("hello @" + acct[..Math.Min(4, acct.Length)]);
|
||||
await page.Locator($"[data-suggestions] [data-suggestion='@{acct}']").ClickAsync(new() { Timeout = 15000 });
|
||||
await Assertions.Expect(box).ToHaveValueAsync($"hello @{acct} ");
|
||||
await Assertions.Expect(page.Locator("[data-suggestions]")).ToHaveCountAsync(0);
|
||||
await session.AssertGuards();
|
||||
}, page);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task The_personas_own_post_is_edited_and_quoted_from_its_card()
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user