fix: show assistant member gate in place
This commit is contained in:
@@ -191,9 +191,14 @@ test("regular account cannot see admin controls and member features are gated",
|
||||
await expect(page.locator("#screenerView .member-gate")).toBeVisible();
|
||||
await expect(page.locator("#screenerRunButton")).toBeDisabled();
|
||||
await page.locator("#assistantButton").click();
|
||||
await expect(page.locator("#settingsDialog")).toBeVisible();
|
||||
await expect(page.locator("#membershipAccessNotice")).toHaveText("复盘助手仅对会员开放");
|
||||
await expect(page.locator("#membershipAccessNotice")).toBeVisible();
|
||||
await expect(page.locator("#settingsDialog")).toBeHidden();
|
||||
await expect(page.locator("#assistantDialog")).toBeVisible();
|
||||
await expect(page.locator("#assistantMemberGate")).toContainText("复盘助手仅对会员开放");
|
||||
await expect(page.locator("#assistantMemberGate")).toBeVisible();
|
||||
await expect(page.locator("#assistantMemberContent")).toHaveAttribute("aria-disabled", "true");
|
||||
await expect(page.locator("#assistantQuestion")).toBeDisabled();
|
||||
await expect(page.locator("[data-assistant-prompt]").first()).toBeDisabled();
|
||||
await expect(page.locator("#sendAssistant")).toBeDisabled();
|
||||
});
|
||||
|
||||
test("stock hover preview ignores the selected historical date", async ({ page }) => {
|
||||
@@ -236,6 +241,8 @@ test("new review workflows render account-scoped records", async ({ page }) => {
|
||||
await page.locator("#closeAlertsDialog").click();
|
||||
|
||||
await page.locator("#assistantButton").click();
|
||||
await expect(page.locator("#assistantMemberGate")).toBeHidden();
|
||||
await expect(page.locator("#assistantMemberContent")).toHaveAttribute("aria-disabled", "false");
|
||||
await expect(page.locator("#assistantMessages .assistant-message")).toHaveCount(1);
|
||||
await expect(page.locator("#assistantQuestion")).toBeEnabled();
|
||||
});
|
||||
|
||||
@@ -82,11 +82,17 @@ class FrontendContractTests(unittest.TestCase):
|
||||
self.assertNotIn("elements.tradeDate.value", preview_loader)
|
||||
|
||||
def test_membership_copy_includes_review_assistant_access(self):
|
||||
self.assertIn("复盘助手仅对会员开放", self.script)
|
||||
self.assertIn("复盘助手仅对会员开放", self.html)
|
||||
self.assertIn("智能选股、问师、问天、复盘助手等智能功能", self.html)
|
||||
self.assertIn("自选股、复盘记录与交易日志", self.html)
|
||||
self.assertIn("每日智能分析额度", self.html)
|
||||
|
||||
def test_review_assistant_uses_the_same_member_gate_pattern(self):
|
||||
self.assertIn('id="assistantMemberGate" class="member-gate assistant-member-gate"', self.html)
|
||||
self.assertIn('id="assistantMemberContent" class="assistant-member-content"', self.html)
|
||||
self.assertIn('elements.assistantDialog.classList.toggle("member-locked", !unlocked);', self.script)
|
||||
self.assertIn('button.disabled = !unlocked || state.assistantLoading;', self.script)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user