Repository navigation
Conversation
…ners Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Note Generated by the AI delivery pipeline (lead-reviewer · Claude Sonnet 5.5). Review: ✅ PASS (re-review of 1dcd621) Previous 3 MEDIUM blockers resolved: message steps are scoped to Nice-to-haves:
Not blocking, documented in the PR: wording depends on open wp-rocket#9098; the |
…d the date Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Note Generated by the AI delivery pipeline (qa-engineer · Claude Sonnet 5.5). QA:
Blockers:
|
Closes #441
Description
Fixes #441
Adds text assertions to the renewal banner scenarios so the suite catches wording regressions (title and body) for expiring-soon and expired licenses, plus grandfathered Plus licenses and the "expired 2 days ago" banner with Optimize CSS Delivery (OCD) on and off.
Prerequisites checklist (do not merge before these are done):
created_in_2020creation-date option is mergedType of change
Detailed scenario
What was tested
How to test
Environment: a confirmed-free e2e hostname (not yet confirmed; AGENTS.md §9), a WP Rocket build containing wp-rocket#9098, and the helper version that provides
created_in_2020.E2E_WPR_NEW_REF=branch:fix/9095-renewal-promo-banners-align node ./node_modules/@cucumber/cucumber/bin/cucumber-js -p default --retry 0 --tags "@renewal"@promoscenario to confirm the shared@renewal or @promoAfter hook still leaves the site clean.develop). The title and body assertions must fail; the expired-banner presence assertions should still pass.Acceptance criteria covered:
Affected Features & Quality Assurance Scope
src/features/notices/renewal-notice.feature(@renewal): new text assertions in the two existing outlines, a grandfather outline, and two OCD scenarios.src/support/steps/renewal-notice.ts: new banner title/message/price/date steps;expired banner is displayedno longer asserts the old title literal.Afterhook for@renewal or @promo(reused, not changed).created_in_2020creation-date option.Technical description
Documentation
No developer docs changed. The feature file keeps its tags and Background; wording lives in the feature file, so a wording change is a data-only edit. New and changed steps in
src/support/steps/renewal-notice.ts(JSDoc on each, locators kept as module constants in that file):license was created in {string}: selects the helper optioncreated_in_<year>.Optimize CSS Delivery is {string}("enabled" or "disabled"): opens the File Optimization tab and asserts the saved checkbox state. Used in the two OCD scenarios (one added line each, afterturn on 'RUCSS'for ON and explicit for OFF) so a silent no-op toggle fails clearly.renew banner title is {string}: exact title text.renew banner message contains {string}/does not contain {string}: scoped to the message paragraphs (.rocket-renew-message p, .rocket-expired-message p), never the title.renew banner shows the renewal price: amount in $, € or £ followed by "(excl. taxes)", scoped to the message paragraphs.renew banner shows a date 12 to 14 days from today: parsed date must be 12 to 14 days after today (UTC); onlyF j, YandY-m-dare parsed, otherwise it fails with an explicit message.expired banner is displayednow only asserts that#rocket-renewal-banneris visible (the title is asserted byrenew banner title is).Deviations from the spec's Proposed Scenarios: the date step is a 12 to 14 day window instead of "13 days from today" (site timezone and date format); message steps target the
pelements because the expiring-soon title sits inside.rocket-renew-message; the twoOptimize CSS Delivery islines were added (challenger guidance); double blank lines between scenarios were collapsed.Reused steps:
{string} license is active,auto renew is disabled,license is {string}(just_expired),turn on {string}(RUCSS),plugin is installed,plugin is activated,expiring soon banner is displayed.New dependencies
None in this repo. Cross-repo prerequisite: the test helper plugin option
created_in_2020(see Description).Risks
F j, YandY-m-d; the 12 to 14 day window absorbs the site timezone offset.@renewalAfter hook resets the helper overrides, and the default site creation date is not grandfathered (otherwise the baseline outlines also needcreation date is old).develop, the new text assertions fail by design until #9098 is in the tested build.Mandatory Checklist
Code validation
Code style
Unticked items justification
No real run has been done yet: the target hostname has not been confirmed free, so the scenarios have not been executed against a live site. Only static checks (lint,
tsc --noEmit, and a Cucumber dry run) have been performed. The Code validation items stay unticked until the real run and the negative check above are done. Code style items are left unticked for reviewer confirmation.Additional Checks
🤖 Generated with Claude Code