A real estate platform built with React, TypeScript, and modern web technologies. This project serves as a demonstration of full-stack development capabilities for test automation practices.
- Node.js 18 or higher
- npm or yarn
- Clone the repository
git clone https://github.com/Aviv-public/aviv-qa-technical-test.git
cd aviv-qa-technical-test
- Install dependencies
npm install
- Start the development server
npm run dev
QA Engineers, responsible for ensuring the quality and functionality of the API, should follow test automation best practices including:
- Implement Page Object Model (POM) to create an object repository for web UI elements
- Each page should have its corresponding page class
- Maintain separation between test methods and page specific code
- Group related elements and actions within relevant page objects
- Externalize test data in JSON/YAML files
- Parameterize tests to run with multiple data sets
- Maintain test data separate from test logic
- Include both positive and negative test scenarios
- Implement test cases for user registration, login, and logout
- Test user roles and permissions (Admin, Agent, User)
- Verify user profile management functionality
- Test property listing and search functionality
- Validate property details and booking process
- Verify user notifications and alerts
- Minimum 80% test coverage for critical paths
- Test all user roles (Admin, Agent, User)
- Test Automation Frameworks:
- Choose one of the following:
- Selenium WebDriver (Java/Python/JavaScript)
- WebDriver.IO (JavaScript/TypeScript)
- Cypress (JavaScript/TypeScript)
- Playwright (JavaScript/TypeScript)
- Choose one of the following:
- Continuous Integration:
- GitHub Actions for automated test execution
- Parallel test execution
- Scheduled test runs
- Test Reporting:
- Allure Reports integration
- Detailed test execution results
- Screenshots and video captures
-
Fork the repository: Go to the repository on GitHub and click the "Fork" button to create a copy of the repository in your own GitHub account.
-
Clone your forked repository:
git clone https://github.com/username/aviv-qa-technical-test.git cd aviv-qa-technical-test
-
Create a new branch:
git checkout -b test-branch-name
-
Add your test cases: Add your test cases in the
tests
directory. -
Commit your changes:
git add . git commit -m "Add test cases"
-
Create a GitHub Actions workflow: In the root of your repository, create a directory named
.github/workflows
if it doesn't already exist. Inside this directory, create a file namedci.yml
. -
Push your branch:
git push origin test-branch-name
-
Create a pull request: Go to the repository on GitHub and create a pull request to merge your test branch into the main branch.
This project is MIT licensed.