Thank you for taking the time to do our technical test. It consists of two parts:
Please don't publish your solution as a public repository, but submit your results by uploading the relevant zip file to a shared Google Drive folder instead. In order to obtain the URL for this folder, please supply your Gmail or Google-based email address to either your recruitment contact or the Just Eat member of staff who assigned you the test.
Please make this a single zip file named {yourname}-{role-applied-for}.zip
containing:
- A single markdown file with the answers to the technical questions
- A folder containing the technical test (please try not to include files like library dependencies)
Just Eat's consumer-facing website in the UK is available at www.just-eat.co.uk, which you can use to find takeaway restaurants in a postcode area.
The UI Automated Test consists of two tasks:
- Write the step definitions for the scenario below.
- Add two more scenarios, with corresponding step definitions, which you feel would enhance the test coverage of the site.
NOTE: Please refrain from stress testing or accidentally performing a DDoS attack as you are likely to get blocked by our security rules.
Feel free to use any programming language, libraries and frameworks you are experienced with. If you choose Python then please contact the team as you will require a different endpoint to run your test against.
- Clear test setup and execution instructions are provided in the README.md file
- All code changes are documented and structured as well-described Git commits
Feature: Use the website to find restaurants
So that I can order food
As a hungry customer
I want to be able to find restaurants in my area
Scenario: Search for restaurants in an area
Given I want food in "AR51 1AA"
When I search for restaurants
Then I should see some restaurants in "AR51 1AA"
Just Eat has a public API available at https://uk.api.just-eat.io/ that you will use to get restaurant information.
- URL: https://uk.api.just-eat.io
- Endpoint:
/restaurants/bypostcode/{postcode}
- Method:
GET
GET
https://uk.api.just-eat.io/restaurants/bypostcode/ar511aa returns complex restaurants-related data for postcode AR51 1AA
Feel free to use any programming language, libraries and frameworks you are experienced with.
NOTE: If you choose Python then please contact the team as you will require a different endpoint to run your test against.
- Verify
Restaurants[n].Address
sub-object of each restaurant object in response. It should reflect the following schema:
{
"properties": {
"City": {
"type": "string",
"description": "City name"
},
"FirstLine": {
"type": "string",
"description": "First line of address"
},
"Postcode": {
"type": "string"
},
"Latitude": {
"type": "number",
"format": "decimal"
},
"Longitude": {
"type": "number",
"format": "decimal"
}
}
}
- Verify the following functional requirements making 1 call to the restaurants endpoint:
Check all the restaurants with more than 1 rating should have a star rating greater than 0
Check all the restaurants with no ratings should have a star rating of 0
Check 1 restaurant should have a valid URL by checking for a returned HTTP status code of 200 OK
- Design 3 more requirements which you think are missing most and implement verification tests.
NOTE: If you call the restaurants endpoint repeatedly within a short period of time you will encounter DDoS protection and your IP address will be blocked. Please manage your API calls responsibly.
- A RESTful API test automation library/framework is implemented using any programming language from scratch
- Clear test setup and execution instructions are provided in the README.md file
- All code changes are documented and structured as well-described Git commits
Please answer the following questions in a markdown file called Answers to technical questions.md
.
- How long did you spend on the technical test?
- What would you add to your solution if you had more time?
- If you didn't spend much time on the technical test then use this as an opportunity to explain what you would add.
- What do you think is the most interesting trend in test automation?
- How would you implement test automation in a legacy application? Have you ever had to do this?
- How would you improve the customer experience of the Just Eat website?
Thanks for your time, we look forward to hearing from you!
The Just Eat Tech team