Files
Test-Laravel-Eloquent-Basics/README.md
T

54 lines
2.0 KiB
Markdown
Raw Normal View History

2021-11-15 08:25:07 +02:00
## Test Your Laravel Eloquent Basic Skills
This repository is a test for you: perform a set of tasks listed below, and fix the PHPUnit tests, which are currently intentionally failing.
To test if all the functions work correctly, there are PHPUnit tests in `tests/Feature/EloquentTest.php` file.
In the very beginning, if you run `php artisan test`, or `vendor/bin/phpunit`, all tests fail.
Your task is to make those tests pass.
## How to Submit Your Solution
If you want to submit your solution, you should make a Pull Request to the `main` branch.
It will automatically run the tests via GitHub Actions and will show you/me if the test pass.
If you don't know how to make a Pull Request, [here's my video with instructions](https://www.youtube.com/watch?v=vEcT6JIFji0).
This task is mostly self-served, so I'm not planning review or merge the Pull Requests. This test is for yourselves to assess your skills, the automated tests will be your answer if you passed the test :)
## Questions / Problems?
If you're struggling with some tasks, or you have suggestions how to improve the task, create a GitHub Issue.
Good luck!
---
## Task 1. Model with Different Table Name.
2021-11-16 07:25:20 +02:00
In `app/Models/Morningnews.php` file, change it so that the model would work with "morning_news" table, as it is created in the migrations.
2021-11-15 08:25:07 +02:00
2021-11-16 07:25:20 +02:00
Test method `test_create_model_incorrect_table()`.
2021-11-15 08:25:07 +02:00
2021-11-16 07:57:23 +02:00
---
2021-11-16 08:05:39 +02:00
## Task 2. Get Data List.
2021-11-16 07:57:23 +02:00
In `app/Http/Controllers/UserController.php` file method `index()`, write Eloquent query to get 3 newest users with verified emails, ordered from newest to oldest. Transform this SQL query into Eloquent:
```
select * from users where email_verified_at is not null order by created_at desc limit 3
```
2021-11-16 08:05:39 +02:00
Test method `test_get_filtered_list()`.
---
## Task 3. Get a Single Record.
In `app/Http/Controllers/UserController.php` file method `show($userId)`, fill in the `$user` value with finding the user by `users.id = $userId`. If the user is not found, show default Laravel 404 page.
Test method `test_find_user_or_show_404_page()`.
2021-11-16 07:57:23 +02:00