This is a basic ASP.NET Core Web API for querying mobile food trucks in San Francisco. The API allows users to search for food trucks by name, street, and location. It also includes a Swagger UI for API documentation and very basic testing.
You will have these challenges:
Part of the QA engineer's work is analyzing the product, identifying areas of significant failure, and defining/acting on priorities. Consider that the testing role also involves demonstrating the value of a good QA strategy and how it benefits the company.
Your goal is to create tests for this application. You can create any unit, integrated, e2e tests, and other necessary tests. When developing tests for the application, it's important that you provide clear explanations for your choices and reasoning for defining priorities and generating tests. This responsibility and accountability are integral to the QA process.
We use this criteria to review:
- You don't need to make any changes to the code or fix any bugs, but feel free to report them.
- We will assess the quality of your test cases and the reasoning behind them.
- We will evaluate automated tests' coverage, quality, and efficiency.
When done, please send an email to your point of contact with a compressed (zip) file of your Github project repo. To explain the tests, please add to a document of your choice and send it alongside the zip file.
This simple API is built with ASP.NET Core Web API and SQLite. At startup, the app checks if the database has already been created. If not, it will create a SQLite database and insert the CSV file contents into a table to be used on the API.
There are a few options for running the application. Please take a look at 2 examples below. Note: Due to how the application is built, running on the first start might take a short while.
The pre-requisites are:
Steps:
-
Clone the repository
-
Build and run the application with:
dotnet build dotnet run --project api
-
Access the API at http://localhost:5000 and Swagger UI at http://localhost:5000/swagger.
-
Build the Docker image with
docker build -t foodtrucksapi .
-
Run the Docker container:
docker run -d -p 5000:5000 --name foodrucks-container foodtrucksapi
-
Access the API at http://localhost:5000 and Swagger UI at http://localhost:5000/swagger.