Conversation
* Initial plan * fix: correct invalid JSDoc @link import() syntax in test email helpers Agent-Logs-Url: https://github.com/Artificer-Innovations/BeakerStack/sessions/262c4eee-aebf-4ff2-99a8-88a7195c6711 * chore: make test email JSDoc link style consistent Agent-Logs-Url: https://github.com/Artificer-Innovations/BeakerStack/sessions/262c4eee-aebf-4ff2-99a8-88a7195c6711 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
…enerators (#46) * Initial plan * fix: correct JSDoc links for integration and E2E test email generators Agent-Logs-Url: https://github.com/Artificer-Innovations/BeakerStack/sessions/4becd9e0-abc3-4dd2-a690-98350ac7e1ad --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
- tailwind.config.js: use ESM import for typography plugin (fixes prose styles)
- legal.ts: use BRANDING.pascalName ('BeakerStack') for brand in policy text
- AppFooter: copyright now shows LEGAL_CONFIG.legalEntityName ('Artificer Innovations, LLC')
- Regenerated policies.ts with corrected brand name
* chore(coverage): exclude pure config/data files from coverage Excludes landing.ts, landing.example.alt.ts (web), generated/policies.ts, and config/legal.ts (shared) from coverage measurement. These are pure data/constant objects with no logic to test — they are always mocked in tests and have no branches to exercise. Part of #58 * chore(coverage): exclude generated and config-only files from shared coverage Part of #58 * test(landing): add Nav component tests Part of #58 * test(landing): add SocialProof component tests Part of #58 * test(landing): add FeatureRows component tests Part of #58 * test(landing): add FeatureGrid component tests Part of #58 * test(landing): add FAQ component tests Part of #58 * test(shared): add Modal focus trap and scroll lock coverage Adds tests for: Tab focus trapping (forward/backward), empty-focusable Tab handling, scroll lock set on open and restored on close. Part of #58 * remove duplicate landing section tests (covered by Diego PR #61) * remove duplicate landing section tests (covered by Diego PR #61) * remove duplicate landing section tests (covered by Diego PR #61) FeatureGrid, FeatureRows, and SocialProof tests are already covered by Diego's PR. Remove to avoid merge conflicts and duplication. * fix Modal focus-trap tests: use userEvent.tab() instead of fireEvent fireEvent.keyDown fires a synthetic event but does not move actual focus. userEvent.tab() simulates real browser tab traversal and correctly tests focus-trap behavior. Per Sarah's review feedback on PR #60.
…loses #62) (#64) * fix: AI code quality findings — landing copy, test mocks, jest regex (closes #62) - Condense 4 feature row body strings in landing.ts per AI recommendations - Fix subscribe mock to return { unsubscribe: vi.fn().mockResolvedValue() } so cleanup code that chains .catch() on unsubscribe() does not throw - Replace fragile setTimeout flush in renderWithAuth with waitFor outside act() - Fix transformIgnorePatterns regex in jest.web.cjs: node_modules/(?!^$) → /node_modules/ (the original pattern transpiled all node_modules) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: use "without duplicating work" for grammatical correctness Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: diego <diego@artificer.ai> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
#63) (#65) * add coverage tests for landing sections, LEGAL_CONFIG, and POLICIES (closes #63) Adds 10 test files: - 8 vitest tests for landing section components (FAQ, FeatureGrid, FeatureRows, FinalCTA, Hero, Nav, PricingSection, SocialProof) - packages/shared-tests: legal.ts structural validation test - packages/shared-tests: policies.ts HTML content validation test Landing section tests use MemoryRouter for Link-dependent components and vi.mock for BillingProvider/usePlanCatalog in PricingSection. Nav tests cover mobile menu toggle, scroll shadow, and link rendering. SocialProof tests cover all three render paths (null, metrics, testimonials). Config tests validate structure and HTML content rather than relying on coverage exclusions. * fix PricingSection and Nav test TypeScript errors - PricingSection.test.tsx: fix 5 vi.mock() paths (test is in sections/__tests__/, not sections/ — each path needs one additional ../); add LandingConfig['pricing'] explicit type to renderSection param; use 'as unknown as ReturnType<...>' to satisfy full usePlanCatalog return type (error + refresh fields) - Nav.test.tsx: add required brand.tagline field to test config * fix FeatureGrid.test.tsx: use Lucide Zap icon instead of inline arrow function Inline () => JSX.Element doesn't satisfy LucideIcon's props signature. Importing a real Lucide icon avoids the cast and is cleaner. Fixes TS2322 reported by Mei. * Fix no-non-null-assertion lint errors in Nav.test.tsx; add logos fallback test - Nav: replace ! assertions with within(mobileNav).getByRole() and screen.getByRole("banner") - SocialProof: add test for unsupported kind rendering nothing * fix legal unit tests --------- Co-authored-by: Brad Hefta-Gaub <brad@artificerinnovations.com>
…, OAuth/email storage (#69)
Contributor
|
Contributor
CI Coverage & Test Summary
Suites: 39 passed, 0 failed (39 total) · Tests: 419 passed, 0 failed (437 total) ✅ All reported test suites passed. Coverage artifacts: Updated at: May 11, 2026 at 11:38 AM PDT |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Promotion merge: merges
developintomain(production).developis 12 commits ahead ofmain(74a51bc→65559b5), touching the web app, shared packages, billing UI, policies/legal content, and tests.What ships
Signup & growth
Marketing / landing
Legal & policies
PolicyPage, generated policies build), shared privacy / terms / refunds markdown andLEGAL_CONFIG; legal footer refinements (feat: add legal policy footer and policy pages (closes #49) #51).Billing
billing_plans_public_readmigration for plan catalog reads.Reliability & tests
Commit list (
main..develop)65559b5— feat(web): post-signup upgrade funnel — plan intent, billing redirect, OAuth/email storage (feat(web): post-signup upgrade funnel — plan intent, billing redirect, OAuth/email storage #69)91002b6— test: coverage for landing sections, LEGAL_CONFIG, and POLICIES (closes improve code coverage #63) (test: coverage for landing sections, LEGAL_CONFIG, and POLICIES (closes #63) #65)7ab03b3— chore(landing): move demo explanation to pricing subhead, shorten disclaimer (Improve pricing demo copy: move explanation to subtitle #67)d995eed— fix: AI code quality findings — landing copy, test mocks, jest regex (closes Fix AI code quality findings #62) (fix: AI code quality findings — landing copy, test mocks, jest regex (closes #62) #64)ffd8318— chore: increase test coverage to 95%+ (issue chore: increase test coverage from ~92% to 95%+ #58) (chore: increase test coverage to 95%+ (issue #58) #60)9516075— feat(landing): monthly/annual cadence toggle on pricing section (feat(landing): monthly/annual cadence toggle on pricing section #57)bd0a3d4— feat(landing): expand feature content and strengthen CTAs (feat(landing): expand feature content and strengthen CTAs #56)356ba39— feat: add B2C landing page for unauthenticated users (closes Task: B2C SaaS Landing Page for BeakerStack #50) (feat: add B2C landing page for unauthenticated users (closes #50) #52)b6335ff— fix: address Brad's review feedback on legal footer (feat: add legal policy footer and policy pages (closes #49) #51)f546334— fix: remove self-referencing JSDoc links in test-emails.ts (please fix this AI code quality complaint #47) (fix: remove self-referencing JSDoc links in test-emails.ts #48)cd7faa1— fix: correct JSDoc @link targets for integration and E2E test email generators (fix: correct JSDoc @link targets for integration and E2E test email generators #46)203a0b0— fix: correct invalid JSDoc @link syntax in test email helpers (fix: correct invalid JSDoc @link syntax in test email helpers #45)Scale
~68 files changed; ~4.9k insertions / ~0.76k deletions (diffstat vs merge-base).
Merge strategy reminder
main. Use Create a merge commit (not squash merge) so futuredevelop→mainpromotions stay conflict-free.Pre-merge checklist
/billing, and policy URLs.billing_plans_public_read).