Power Your Software Testing with AI Agents and Cloud
The Native AI-Agentic Cloud Platform to Supercharge Quality Engineering. Test Intelligently and Ship Faster.
- TestMu AI (Formerly LambdaTest)
- /
- Use Cases
- /
- Test a best offer flow and its pending state
Test a best offer flow and its pending state
Reject an offer at the asking price, send a lower one, then confirm it sits in the account as pending seller response.
Published on:
A negotiation flow has a rule at its centre: an offer has to be below the asking price. Rules like that are easy to state, easy to implement on the client only, and easy to bypass.
This use case checks the rule from both sides on the eBid clone, then follows the accepted offer into the account page. Four steps, 158 seconds, all passed.
Failure modes in this flow
Offer flows fail in three ways, and each needs its own assertion rather than a single end-state check.
- The boundary is not enforced - an offer at the asking price is accepted when it should be refused.
- The amount is not carried - the offer sends, but at a different value than the one typed.
- The state is wrong - the offer lands as accepted or expired rather than awaiting the seller.
The test checks the boundary at exactly the asking price, $219 against a $219 listing, rather than at some obviously invalid value. A rule implemented with the wrong comparison operator passes a test that offers $500 and fails this one.
Note: Testing a boundary at the boundary, rather than well past it, is what catches an off-by-one comparison. Run flows like this on TestMu AI. Start for free
Writing the objective
The rejection assertion quotes the error string in full. A generic validation message and a correctly targeted one are different bugs, and only the exact text distinguishes them.
---
mode: testing
url: https://my-testing-repo-main.vercel.app/ebay-clone-app?reset=true
max_steps: 40
tags: [ebay, offers]
---
# eBid 6.3: Best Offer flow
Catalog objective: submit a best offer below the asking price and verify the pending state.
Key assertion: the offer shows as sent with the correct amount.
## Open a listing that accepts offers
Click "50mm f/1.8 Prime Lens" and verify the listing shows a price of "$219.00" and a "Send Best Offer" button.
## Reject an offer at or above asking
Type "219" into the offer field, click "Send Best Offer", and verify an error appears reading "A Best Offer must be below the asking price."
## Send a lower offer
Clear the offer field, type "180", click "Send Best Offer", and verify the page shows "Offer sent" with an amount of "$180.00".
## Confirm the pending state
Click "My eBid" and verify the Best Offers list shows "50mm f/1.8 Prime Lens" at "$180.00" with status "Pending seller response".The final step leaves the listing and checks the account page, because an offer that appears to send and never reaches the seller is the failure that costs a sale. Run the test with:
kane-cli testmd run tests/ebay/best-offer_test.mdRunning it locally
Four passes, evenly spread. Opening the listing was the slowest step at 49.2 seconds since it carries the initial page load.
---
test: ../best-offer_test.md
status: passed
started: 2026-09-15T10:19:44.434Z
duration_s: 158
session_id: 5d9be3d7-581b-4b00-b0db-96da29d812ab
---
# eBid 6.3: Best Offer flow - Result
## Open a listing that accepts offers ✓ passed (49.2s)
md5: 31cad0dfc862beb1c222541bc9f3cb06
Click "50mm f/1.8 Prime Lens" and verify the listing shows a price of "$219.00" and a "Send Best Offer" button.
## Reject an offer at or above asking ✓ passed (30.3s)
md5: d7e8d3ccff8e30b6d5e38361d921dca6
Type "219" into the offer field, click "Send Best Offer", and verify an error appears reading "A Best Offer must be below the asking price."
## Send a lower offer ✓ passed (39.9s)
md5: 599ee8cf3c85bea76f87b6d1aa6de060
Clear the offer field, type "180", click "Send Best Offer", and verify the page shows "Offer sent" with an amount of "$180.00".
## Confirm the pending state ✓ passed (36.8s)
md5: 9d1bf563f863a297e297fd723a4e01ce
Click "My eBid" and verify the Best Offers list shows "50mm f/1.8 Prime Lens" at "$180.00" with status "Pending seller response".| Step | Result | Duration |
|---|---|---|
| Open a listing that accepts offers | Passed | 49.2s |
| Reject an offer at or above asking | Passed | 30.3s |
| Send a lower offer | Passed | 39.9s |
| Confirm the pending state | Passed | 36.8s |
Putting it in CI
The outcome is a negotiation test that pins the business rule, the amount and the resulting state, which together are what a best offer feature promises.
Offer and bid flows differ mainly in their validation rule, so one file adapts into the other by changing the rule and the expected strings. Test case generation handles that kind of variant well, and running flows asynchronously covers executing a family of them at once.
Author
Bhawana is a Community Evangelist at TestMu AI with over 3 years of experience creating technically accurate, strategy-driven content in software testing. She has authored 50+ blogs on test automation, cross-browser testing, mobile testing, and real device testing. She also serves as Product Marketing Manager for Kane CLI, the command-line tool that runs browser automation from the terminal using natural-language flows in a real Chrome browser. Bhawana is certified in KaneAI, Selenium, Appium, Playwright, and Cypress, reflecting her hands-on knowledge of modern automation practices. On LinkedIn, she is followed by 6000+ QA engineers, testers, AI automation testers, and tech leaders.
Best Offer Testing FAQs
Did you find this page helpful?
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance
- Advanced access controls
- Advanced data retention rules
- Advanced Local Testing
- Premium Support options
- Early access to beta features
- Private Slack Channel
- Unlimited Manual Accessibility DevTools Tests




