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/ViewsTest.php file.
In the very beginning, if you run php artisan test, or vendor/bin/phpunit, all 8 tests fail.
Your task is to make those tests pass.
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.
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 :)
If you're struggling with some of the tasks, or you have suggestions how to improve the task, create a Github Issue.
Good luck!
File app/Http/Controllers/HomeController.php, method users(), pass the $usersCount to the View.
Test method test_users_list_get_with_values().
The page /alert will show you a JavaScript alert. You need to change something in resources/views/alert.blade.php file, so that this alert would not be thrown, and instead just its HTML would be shown.
Test method test_script_alert_does_not_fire_modal.
The file resources/views/table.blade.php should show the loop of all users, or "No content" row, if no users are in the database.
Test method test_loop_shows_table_or_empty().
Three sub-tasks related to the table and loop, all in file resources/views/rows.blade.php:
- in the first column, add the row number: 1, 2, etc.
- only every second row (2nd, 4th, etc) should have CSS class "bg-red-100"
- only the FIRST row should have email column with "font-bold"
Test method test_rows_styled_with_number().
In the file resources/views/authenticated.blade.php, show the appropriate text, if the user is/isn't logged in.
If the user is logged in, show their email.
Test method test_authenticated().
In the file resources/views/include.blade.php, include another Blade file resources/views/includes/row.blade.php, passing the parameter correctly.
Test method test_include_row().
In the file resources/views/layouts/app.blade.php, there's a "global" variable $metaTitle. Pass its value to this view, for all pages, without touching any Controllers.
Test method test_meta_title().
Change the file resources/views/layout.blade to extend the layouts/main.blade.php (without Blade components) instead of layouts/app.blade.php (with Blade components).
Test method test_layout().