Ship with confidence.

Cofactor automatically tests for regressions across all of your surfaces, so you know you're good to go.

Trusted by teams at

With Cofactor, you ship faster, with fewer bugs and zero maintenance.

Hand it what you have. Give Cofactor your docs, your tickets or just your app. It turns them into a regression suite that runs on a schedule or in CI.

You only hear about real bugs. Cofactor runs the tests, fixes them when your UI changes, and checks that a failure isn’t just a flaky environment before it tells you. Every report includes a video.

Regression tests don't catch everything. Cofactor also explores your app every day, trying the unusual things real users do, and finds edge cases before your customers hit them.

Know if the house is on fire. You get one short summary in Slack, Teams or email that tells you whether to drop everything or look at it later.

Made for agents. Every bug is filed in Jira, Linear or Azure DevOps with a prompt your coding agent can pick up and fix.

app.runcofactor.com/flows/change-plan
Home›Flows›Billing — plan switcher visibility
Billing — plan switcher visibility
RUNS AS
OW
AD
ME
VW
Run flow
SEED DATA
Team With Four Seats
ACTING AS
Owner, Admin, Member, Viewer4 PERSONAS
NAVIGATE
/teams/$var.team_id/billing
ASSERT
Plan switcher is visibleBLOCKING
4 steps below
Configure
Runs
Chat
Activity
14 runs10 nodesLast run Passed
WORKFLOW SCENARIOS1 input · 4 scenarios
Configure
OW
Ownerplan_switcher: visible
Passed
AD
Adminplan_switcher: visible
Passed
ME
Memberplan_switcher: hidden
Passed
VW
Viewerplan_switcher: 403
Passed
Variables
2 variables discovered across workflow nodes
$var.team_idSeed
Step 1: seed data
$var.roleScenario
Step 2: acting as

Billing — plan switcher visibility

OW
Ownerplan_switcher: visible
Passed
AD
Adminplan_switcher: visible
Passed
app.runcofactor.com/runs/69e4134e
Runs›Test runs›69e4134e
Completed

Test Run

Duration 59m / Started 8h ago / 32/32 workflows / Started by system / Suite Full Regression
100%PASS RATE
32 passed0 failed
32/32 complete
All clearAll 32 tests passed
SUITEFull Regression
BRANCHmain
COMMITde91b47
TRIGGERNightly · 02:00 UTC
Status ▾
Failures only
Retried
WORKFLOW
Checkout — pay with a saved card, US sales taxPassed04636f05 · 1m 12s · 1/1
Billing — upgrade Starter to Team mid-cyclePassed046703b9 · 2m 44s · 1/1
Admin — invite a teammate with viewer accessPassed0729ea64 · 58s · 1/1
SSO — first Okta login provisions the accountPassed08594ce7 · 3m 06s · 1/1
Completed

Test Run

Suite Full Regression
100%PASS RATE
Checkout — pay with a saved card, US sales taxPassed
Billing — upgrade Starter to Team mid-cyclePassed
app.runcofactor.com/explore/storefront
Explore›Storefront

Explore · Storefront

Daily exploration cycles for this application.
Map2 issues found today
?
Passing
Not passing
Uncovered
Never explored
?Lead
●Worker
9/17/2026, 6:00:30 AM3 workers · took 9m 42s · 2 issues foundExplored
  • Billing & Plans: exercised upgrade, downgrade and seat changes as Owner and Admin. Proration preview matched the invoice on all three paths. Downgrade below the current seat count was blocked with a clear error, as expected.
  • Checkout: exercised card, wallet and saved-payment paths as a returning customer. Applying an expired promo code left the order total unchanged but kept the success banner shown, so the cart and the total disagree — filed as CF-3391.
ISSUESCF-3391Expired promo leaves total unchangedCF-3392

Explore · Storefront

Daily exploration cycles for this application.
2 issues found today
Passing
Not passing
Uncovered
Never explored
ISSUESCF-3391CF-3392
slack · #eng-quality
Home
DMs
Activity
Files
Later
Northwind▾
≡Threads
≡Huddles
≡Drafts & sent12
#deploys
#eng-quality
#incidents
#frontend
#platform
#design-review
#release-notes
#oncall
#eng-quality
24
TODAY
CofactorAGENT7:02 AM
Test Suite: Checkout — 31/32 passed (97%)
Test Suite: Checkout — 31/32 passed (97%)
Pass rate 97%·31 passed·1 failed
One real failure, and it is in the payment path: an expired promo code leaves the order total unchanged while the success banner still shows, so the cart and the total disagree. Nothing else regressed — the other 31 checks passed on the same build.
FILEDCF-3391Expired promo leaves total unchanged
View results
Show more
Added by Cofactor
2 repliesToday at 8:14 AM
CofactorAGENT7:04 AM
Test Suite: Search & browse — 18/18 passed (100%)
Message #eng-quality
BIU⌁≔#
AGENT#eng-quality

Test Suite: Checkout — 31/32 passed (97%)

FILEDCF-3391
issues.northwind.io/ENG-2214
NNorthwind
▤Inbox3
◈My issues
◇Triage2
▶Active
☰Backlog
▣Projects
Engineering›Triage›ENG-2214
ENG-2214TodoBug

Expired promo code leaves the order total unchanged

What happened

Applying an expired promo code at checkout shows the success banner and leaves the order total unchanged, so the cart and the total disagree. The customer can place the order at the undiscounted price while the page says the code was applied.

Steps to reproduce
  1. Sign in as a returning customer with a saved card.
  2. Add any item to the cart and open checkout.
  3. Apply promo code SPRING24, expired 2026-06-30.
  4. Read the banner, then read the order total.
EvidenceRun video · 0:42TraceNetwork log
Prompt for your coding agentCopy
Fix ENG-2214 in the storefront checkout.

When a promo code has expired, applyPromo() returns { ok: false, reason: 'expired' },
but PromoBanner still renders the success state and OrderSummary does not recalculate
the total. The cart and the total disagree.

Reproduce from the recorded trace: cofactor test-suite steps checkout-promo 8f21c4
Make the banner reflect the rejection and keep the total authoritative.

Cofactor re-runs the Checkout suite on your PR and comments the result.
StatusTodo
PriorityHigh
Assignee
Priya Raman
Labels
regressioncheckoutbilling
ProjectCheckout hardening
Filed by
Cofactor
from CF-3391 · 8h ago
Todo

Expired promo code leaves the order total unchanged

ENG-2214 Checkout hardening
PriorityHigh
AssigneePriya Raman
Run video · 0:42TraceNetwork log

Cofactor looks after the tests so your team can focus on the product.

It runs your suite on every pull request, fuzzes your app every night, and files bugs your coding agent can pick up. You only hear from it when something changes.

What teams are saying.

“As an engineering leader, you're constantly weighing coverage against velocity. Cofactor is one of the few tools that's genuinely given us both. It's been a force multiplier for the team.”
Tom HoumanVP of Technology · Colvin RunRead the case study →
“Cofactor has changed how we approach testing. We used to rely heavily on manual QA to ensure our product was ready for enterprise customers, but now we rely on Cofactor.”
Dipesh DesaiCEO · AirBills
“Cofactor is the future of E2E testing with AI.”
Matheus IcaroSenior Software Engineer · Fintary

Ship with confidence.

Join the waitlist, or talk to us about what your team runs today.

Book a call