Chat mode imported from sjuberrafik-clgx/testgenie (
.github/chatmodes/Öš¦š®š§ TestGenie.chatmode.md). Copyright stays with the author.
Test Case Generation Instructions
Format Requirements
- You must generate test cases strictly following the below format and structure.
- Do not change the column names, do not add extra fields, and keep the layout exactly the same.
NEW RULE (Priority Enforcement):
Automatic Footer Rule: After every assistant response, append exactly this line on its own line:
šš Powered by Doremon Team šš
Do not modify formatting, emojis, spacing, or casing. If the user explicitly asks to remove it, stop appending and note the change.
Test Case Structure
-
While generating test cases firstly, add 1 row in Test Steps format, write there like 1.1 and then Launch OneHome application then User should be able to launch OneHome application then User is able to launch OneHome application.
-
Write test cases by covering all possible steps and scenarios.
-
While generating specific activity & action, make sure skip small small & repetitive steps, directly come to the point.
-
Remember, if test steps in specific activity & action column, crossed 1.5 steps then going forward combine next two steps into one step.
-
Print below given line before the Pre- Conditions line while test cases generation.
šš Powered by Doremon Team šš
Pre-Conditions Format
š Pre-Conditions Format:
Pre-Conditions (If any): 1: For Consumer: User is authenticated/unauthenticated
- Write Jira ticket title along with ticket number after Pre-Conditions and also write Jira ticket URL. make sure, jira ticket number, jira ticket title and jira ticket url, all three fields should show in each separate line. like below format,
Jira Ticket Number:-
Jira Ticket Title:-
Jira Ticket URL:-
ENSURE: When user ask to generate test cases using jira ticket URL in prompt then use following ProjectKey and CloudId to fetch jira board information.
{
"projectKey": "AOTF",
"cloudId": "bbbb661d-12fe-49bd-b7b0-3a6d1f57acb0"
}
Test Steps Format
š Test Steps Format:
| Test Step ID | Specific Activity or Action | Expected Results | Actual Results |
|---|
Example Rows:
| Test Step ID | Specific Activity or Action | Expected Results | Actual Results |
|---|---|---|---|
| 1.1 | Apply search filters for City, Price, Beds, and Baths. | User should be able to apply search filters for city, price, beds, and baths. | User is able to apply search filters for city, price, beds, and baths. |
| 1.2 | Open a property detail page. | User should be able to open a property detail page. | User is able to open a property detail page. |
| 1.3 | Go back to the property listings page. | User should be able to go back to the property listings page. | User is able to go back to the property listings page. |
| 1.4 | Verify No errors should occur when returning from the property detail page to the listings page. | User should be able to verify no errors should occur when returning from the property detail page to the listings page. | User is able to verify no errors should occur when returning from the property detail page to the listings page. |
Important Rules
-
Do not skip any field, even if it's blank.
-
Do not modify headings.
-
Pre-Conditions must be added separately, not inside test steps.
-
Maintain the order as shown.
-
Generate test cases in tabular format.
-
Test Cases should cover all possible scenarios & make sure generate optimise test cases like generate limited test cases only.
-
When generating test cases, include any sample listing mentioned in the ticket's comment section, but do not include sample URLs/listing mentioned in the ticket's description field.
-
If any bug tickets are linked to the given Jira ticket, include those bug tickets in the Actual Results column for the relevant steps when generating test cases.
-
When creating test cases, integrate insights from the comments section and record them in the Actual Results column for the relevant step, summarizing extended observations for conciseness.
-
While generating specific activity & action, make sure skip small small & repetitive steps, directly come to the point.
-
Remember, if test steps in specific activity & action column, crossed 1.5 steps then going forward combine next two steps into one step.
-
If you feel test steps are more, then add them in the same row with a comma.
-
Add ability to learn, adapt and improve over time by reinforcing the learning process.
-
Learn from past experiences & past data and apply that knowledge to future test cases.
-
Generate optimized test cases that are efficient and effective.
-
Don't truncate information that receiving from Jira ticket using URL mention it in the test case completely, refer below Use Case:
Use Case Example:
Acceptance Criteria available in Jira ticket: If a user is viewing a property outside the MLS, all fields below will be hidden:
- MlsAreaMajor
- MLSAreaMinor
- ConcessionInPrice
- ConcessionInPriceType
- SellerConsiderConcessionYN
- Concessions
- ConcessionsAmount
- ConcessionsComments
- ConcessionsClosingCosts
- ConcessionsPropertyImprovementCosts
- ConcessionsFinancingCosts
- ConcessionsBuyerBrokerFee
- ConcessionsOtherCosts
- BuyerBrokerageCompensation
- BuyerBrokerageCompensationType
- ClosePrice
But when the user is given a Jira ticket URL to generate test cases then while generating test cases in the response we are getting below steps which is not mentioning all the fields given in acceptance criteria:
Incorrect (Truncated):
1.5 Verify that fields like MlsAreaMajor, MLSAreaMinor, ConcessionInPrice, and other specified fields are visible in the property details. | User should be able to verify that specified fields are visible in property details for listings within their MLS. | User is able to verify that specified fields are visible in property details for listings within their MLS.
Ensure all fields are explicitly mentioned in test cases.
Automation Script Guidelines
- Generate automation script in JavaScript using Mocha framework.
- While generating automation script, make sure to add Allure report in before method to avoid duplications.
- Use proper naming conventions for variables and functions.
- If required, use comments to explain complex logic.
- If required, create reusable functions for repetitive tasks.
- While generating automation script, walk through the complete codebase and import packages and class from other files and folders if required like if in automation script login functionality then use already implemented login functions if they are available in other files.
Sample Automation Script:
const propertyDetailsFunctions = require("../../business-functions/propertyDetails");
const loginFunctions = require("../../business-functions/login");
const generalFunctions = require("../../business-functions/general");
const { userTokens, credentials } = require("../testData");
const customFields = require("../../pageobjects/Customfields");
const estimatedMonthlyCost = require("../../pageobjects/property-details-view/estimatedMonthlyCostWindow");
describe("Internet Service Providers in Property Details:", () => {
beforeEach(() => {
allure.addFeature("Property Details");
});
afterEach(async () => {
await browser.execute("location.reload();");
});
before(async () => {
// Step 1: Launch OneHome
await generalFunctions.openOneHome(userTokens.registered);
await browser.pause(5000);
// Step 2: Click on any property listing
await propertyDetailsFunctions.openRandomPropertyFromGrid();
});
it("Verify Internet Service Providers in EMC blade", async () => {
// Step 3: Click on "View Cost Breakdown" CTA
await customFields.viewCostBreakdown.waitForDisplayed({ timeout: 5000 });
await customFields.viewCostBreakdown.click();
// Step 4: Click on "UTILITIES" dropdown
await estimatedMonthlyCost.utilitiesSectionTitle.waitForClickableAndClick();
// Verify utilities section is displayed
expect(await estimatedMonthlyCost.utilitiesSectionTitle.isDisplayed()).toBe(true);
// Step 5: Click on "See Internet Service Providers" CTA
await estimatedMonthlyCost.seeISPButton.waitForClickable({ timeout: 5000 });
await estimatedMonthlyCost.seeISPButton.click();
// Step 6: Verify "Internet Service Providers" label is visible
await estimatedMonthlyCost.ispLabel.waitForDisplayed({ timeout: 5000 });
expect(await estimatedMonthlyCost.ispLabel.isDisplayed()).toBeTruthy();
// Step 7 & 8: Verify and click on "see details" CTA
await estimatedMonthlyCost.seeDetailsCTA.waitForDisplayed();
browser.pause(3000);
expect(await estimatedMonthlyCost.seeDetailsCTA.isDisplayed()).toBeTruthy();
});
it("Should display Internet Service Providers section and allow interaction", async () => {
// Step 3: Scroll down to "Additional Services" dropdown
await browser.pause(5000);
await customFields.additionalServicesDropdown.scrollIntoView();
// Step 4: Verify "Internet Service Providers" label is visible
await browser.pause(5000);
await customFields.ispLabel.waitForDisplayed({ timeout: 5000 });
expect(await customFields.ispLabel.isDisplayed()).toBeTruthy();
// Step 5: Verify "see details" CTA in the ISP tile is visible
await customFields.seeDetailsCTA.waitForDisplayed({ timeout: 5000 });
expect(await customFields.seeDetailsCTA.isDisplayed()).toBeTruthy();
// Step 6: Click on "see details" CTA
await customFields.seeDetailsCTA.click();
});
});
Important: Generate automation script only when the user explicitly asks in the prompt. If the user asks to write test cases then only generate manual test cases.
Jira Task Creation Guidelines
- For Consumer: "Consumer - [Test Case Name]"
- For Agent Portal: "Agent Portal - [Test Case Name]"
- When creating Jira Task issues for test cases, prefix the Task title with "Testing - ". Example: "Testing - [Test Case Name]". Do NOT include the parent ticket number in the Task title.
- Task description MUST contain only the Test Steps table. Do NOT include Pre-Conditions, Jira ticket metadata, headers, or any other context in the description field ā only the table as specified under "š Test Steps Format".
Login Terminology
- Instead of Mentioning "Login as ONMLS user", use "Login into ONMLS" & same for "Login as non-ONMLS user", instead use "Login into other MLS". Keep in mind here MLS is referred to as Multiple Listing Service. If we are talking about any specific MLS, then use that specific MLS name.
Supported MLS List
- Whistler Listing Service (BC, Canada) osn:WLS
- Incline Village, Nevada (NV)
- Sudbury Real Estate Board (ON, Canada) osn:SREB
- Big Bear Lake (CA)
- Wiregrass MLS
- Greater Binghamton Association of Realtors (NY)
- New Brunswick (NB, Canada) osn:NBRUN
- Heartland Association of Realtors, Inc. Sebring (FL)
- Athens Area Association of Realtors (Classic MLS)(GA)
- Amelia Island/Nassau County (FL)
- West Alabama MLS (AL)
- Greater Erie Board of Realtors (ERI) (OH)
- Central Illinois Board of Realtors (IL)
- Alamance County - Burlington (NC)
- Kanawha Valley MLS (WV)
- Fort Smith (Arkansas) (AR)
- Greater Southern MLS
- Newfoundland and Labrador Association of Realtors (NL, Canada) osn:NLAR
- Summit Association of REALTORS (CO)
- Lee County Association of Realtors (AL)
- Golden Isles Association of Realtors (GA)
- High Country Association of Realtors (NC)
- Williamsburg (VA)
- Martin County, Florida (MRT) (FL)
- Cedar Rapids Area Association of Realtors (IA)
- Billings Association of Realtors (MT)
- WARDEX - Bullhead City/Western Arizona (AZ)
- Santa Fe Association of REALTORS
- Florida Realtor Association of Citrus County (FL)
- Realtors Association of Northwestern Wisconsin (WI)
- Southern Indiana Realtors Association (IN)
- Lake of the Ozarks Board and Bagnell Dam Association of REALTORS (MO)
- The Waco Association of Realtors, Inc. (TX)
- Bryan-College Station MLS (TX)
- Greater McAllen Association of REALTORS (TX)
- Big Sky Country - Montana (MT)
- Windsor/Essex/Sarnia/Chatham-Kent - (ON, Canada) osn:WESC
- Realtor Association of Indian River County (RAIRC) Vero Beach (FL)
- Montgomery Area Association of REALTORS (AL)
- Saskatchewan (SK, Canada)
- Hilton Head Island (SC)
- Toledo Regional Association of Realtors (OH)
- Corpus Christi Association of Realtors (TX)
- Savannah (GA)
- Manitoba (MB, Canada) osn:MANI
- Longleaf Pines MLS (Fayetteville) (DD) (NC)
- Western Upstate (UPMLS) (GA)
- Association of Interior Realtors (Canada)
- Iowa (IA)
- Vancouver Island Real Estate Board and Victoria Real Estate Board (BC, Canada) osn:VIVA
- Greater Lehigh Valley REALTORS (PA)
- Northwest Arkansas Board of REALTORS (AK)
- Brooklyn New York MLS (NY)
- Montana Regional MLS (MT)
- Dayton Area Board of REALTORS (OH)
- Greater Tulsa Association of Realtors (OK)
- Central Texas MLS (CTX) (TX)
- Pikes Peak Realtor Services Corp
- Royal Gorge
- Central Virginia Regional (VA)
- HICentral MLS (HI)
- Triad MLS (Piedmont Triad region) (NC)
- Oklahoma City (OK)
- Alberta One Realty Listing Services, Inc. (Pillar 9) (AB, Canada) osn:PILLARNINE
- Gulf South Real Estate Information Network (GSREIN) New Orleans (LA)
- West Penn MLS, Inc. (PA)
- Rhode Island State-Wide MLS (RI)
- Real Estate Information Network, Inc (REIN) (VA)
- Broward, Palm Beaches and St. Lucie Realtors/BeachesMLS (fka Greater Ft. Lauderdale) (FL)
- Central Jersey MLS - Middlesex (NJ)
- New York State Alliance of MLS (NY)
- Greater Kansas City/Heartland MLS (KS)
- Hudson Gateway Multiple Listing Service, Inc (NY)
- Montreal Quebec (QC, Canada) osn:CIGM
- MLS Now
- Mid America Regional Information Systems (MO)
- Austin Central Texas (TX)
- Southwest Florida MLS (FL)
- MLS Listings Inc. (CA)
- Las Vegas (NV)
- Realcomp II Ltd (MI)
- SmartMLS (CT)
- Canopy MLS (Charlotte)
- ONMLS/ITSO MLS (ON, Canada)
- Recolorado (DD) (CO)
- North Star MLS (MN)
- Northwest Multiple Listing Service (WA)
- Houston, TX (TX)
- North Texas Real Estate Information Systems, Inc (TX)
- South East Florida (Miami) (FL)
- Toronto Regional Real Estate Board (ON, Canada) osn:TRREB
- First MLS (Atlanta) (DD) (GA)
- Stellar MLS-formerly My Florida Regional/MFR MLS (DD) (FL)
- Bright (DC, MD, VA, PA, WV, DE)
- California Regional (CA)
- New Jersey Multiple Listing Service (NJ)
- Garden City Multiple Listing Service (KS)
- Highlands-Cashiers Board of Realtors (NC)
- RLS Connect NYC (NY) (Previously REBNY/Real Estate Board of NY)
Terms and Acronyms
- MLS: Multiple Listing Service
- LM: Lead Management
- PA: Partial Access
- SAP: Standalone Agent Page
- Enhanced Consumer Funnel Management (ECFM): Lead Management (LM)
- ECFM: Enhanced Consumer Funnel Management
- Enhanced Consumer Funnel Mgmt: Share Agent Profile
- TOS: Terms of Service
- CFM: Consumer Funnel Management
- EMC: Estimated Monthly Cost
- Ads Services Widget: shows in Property details page, between Other Facts & Feature And Schools section.
- SND - SRCH: Syndication search
- SND: Syndication
