Skip to content
This repository has been archived by the owner on Apr 3, 2023. It is now read-only.

Feat/user tests #44

Draft
wants to merge 38 commits into
base: dev
Choose a base branch
from
Draft

Feat/user tests #44

wants to merge 38 commits into from

Commits on Feb 27, 2023

  1. ✨ (Get users collection) Added an advanced search for route GET /users/

    Added many filters for the /users routes. User's nickname are now returned when fetching a collection of users
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    8bb19d8 View commit details
    Browse the repository at this point in the history
  2. 🐛 (Dependency version) Updated some code to be able to be run with th…

    …e current version
    
    Some code (in the filters) was outdated and not updated during the rebase
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    6c7a6f4 View commit details
    Browse the repository at this point in the history
  3. ⬆️ (General dependency upgrade) Many dependencies updated, some code …

    …breaking changes were fixed
    
    Most notable changes are the change of the version of Symfony, ApiPlatform and PHP
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    40622b0 View commit details
    Browse the repository at this point in the history
  4. 🔀 (Branch dev) Refactored changes in branch dev to work with new vers…

    …ions of libraries
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    84ea9d6 View commit details
    Browse the repository at this point in the history
  5. 🐛 (fixture) GroupSeeder was crashing when updating database

    groups is a keyword in mysql, so I replaced the table name in the code (App\Entity\Group) by `groups`. Using `...` tells mysql that
    the content has to be evaluated, and is not a keyword
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    9dfe858 View commit details
    Browse the repository at this point in the history
  6. ✨ (tests) Setup for the tests

    Started to implement application tests on routes asso/* and user/*
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    874f1da View commit details
    Browse the repository at this point in the history
  7. ✅ (tests) added tests for route GET /users

    testing content of json
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    2ab02cb View commit details
    Browse the repository at this point in the history
  8. ✅ (GET users/) Updated test structure + tested route more

    Made 1 class per route. GET users/ is now more tested to verify it responds normally when something is not expected (not
    connected, parameter out of range, ...)
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    ee3e4b3 View commit details
    Browse the repository at this point in the history
  9. ✅ (GET users/) refactor tests structure

    reafactoring tests structure. We now call directly routes, instead of calling a URL. Tests are now disconnected to each other
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    2dd7617 View commit details
    Browse the repository at this point in the history
  10. ✅ (GET /users) Enhanced tests + added EtuUTTApiTestCase

    Improved GetUsers tests to make them test everything. I can't see any more major issue with this class. Now uses
    database calls to test API calls. Also created superclass EtuUTTApiTestCase, which should provide a lot of useful
    methods in the future
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    c29a3c2 View commit details
    Browse the repository at this point in the history
  11. ♻️ (tests) 'test' user now saved + directory renamed

    Class EtuUTTApiTestCase now saves the 'test' user, created in the setUp method. Directory tests/users was renamed to
    tests/Users, to be more coherent with conventions used in the project
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    ea429f6 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    6427603 View commit details
    Browse the repository at this point in the history
  13. ✨ (EtuUTTApiTestCase) Added createUser method

    Added createUser method. The methods takes 4 parameters : $firstName, $lastName, $login and $role. Role is not mendatory. If not provided, it is defaulted
    to 'ROLE_USER'. It creates a user according to the parameters, put it in the database, and flush the data. In the future, if necessary, it could be useful
    to add a parameter to ask if we want to flush the database, because it could maybe be slow if we need to do that a lot.
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    d5089eb View commit details
    Browse the repository at this point in the history
  14. ✅ (PATCH /users/{id}) Started tests

    testing normal call, when not connected, when the user does not exist, when no body is provided, sql injections and invalid field contents
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    76bb314 View commit details
    Browse the repository at this point in the history
  15. ✅ (DELETE /users/{id}) started tests for this route

    testing normal calls, when user doesn't have the permissions, when the user is not connected, when the user does not exist and verified sql injections
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    04f644b View commit details
    Browse the repository at this point in the history
  16. ✅ (groups) added some tests for group + many more random things

    changed version of dependency symfony/http-foundation. It's now possible to set a maximum/minimum of visible groups while seeding the Group table. lint. changed security of PATCH /groups/{slug}.
    Translations where not present in the group:read:one group. changed the group admin voter. Added utility functions to EtuUTTApiTestCase. updated a few tests on /users routes
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    a9922c2 View commit details
    Browse the repository at this point in the history
  17. ✨ (Database tests) Added a way to backup the database and check the c…

    …hanges made to it
    
    it is now possible to call the backupDatabase method from the EtuUTTApiTestCase class to make a backup, and then call the assertDatabaseSameExcept method to assert the new database and the old one are
    the same. Expected differences can be specified in the arguments of the function
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    fe16662 View commit details
    Browse the repository at this point in the history
  18. ✅ (GET /users) Updated tests to match new parameters of the route

    Added tests for each function of the route. Removed some prints. Added assertSameUserReadSome method in EtuUTTApiTestCase. Added order in the /users routes. Fixed a problem with skip_null_values (it now
    seems like it's necessary to explicit that parameter for each route that overrides normalizationContext). Added a way to generate a custom amount of users in the UserSeeder. Changed phone number
    generation in UserInfoVisibilitySeeder. Added a parameter in BrancheFiliereFormationSeeder to set the minimum amount of users with filiere that should be generated
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    9e1a6b0 View commit details
    Browse the repository at this point in the history
  19. ✅ (/users routes) Added tests for parameter name. Added tests for inv…

    …alid parameter values
    
    Added a test to test the parameter name. Added some tests to verify API responds correctly when an invalid value is passed to the parameters. Updated the testUEParameter test. Added parameter $flush to
    EtuUTTApiTestCase::createUser (defaults to false) to avoid the changes to be sent to the database (the new entity is still persisted)
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    fc185cf View commit details
    Browse the repository at this point in the history
  20. 🔒 (SQL injection) Fixed 2 SQL injection flaws in Filters

    SearchInNamesFilter and UEFilter both contained a SQL injection flaw. It has been fixed
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    28d8dfb View commit details
    Browse the repository at this point in the history
  21. 🐛 (Fixed tests) Fixed some errors in tests

    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    9d2e5f1 View commit details
    Browse the repository at this point in the history
  22. 🐛 (Small bugs) Fixed 3 bugs

    UserDataVisibilityItemDataProvider was crashing when trying to provide data to a non-authenticated user. PATCH /users/{id} didn't have the skip_null_values parameter set to false. On creation,
    UserInfos::$birthday was not set to a round day (it was set to the current time, not the current day)
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    bdd4c76 View commit details
    Browse the repository at this point in the history
  23. 🚨 (tests) Linted tests folder

    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    46e20ce View commit details
    Browse the repository at this point in the history
  24. 📝 (README and code) Wrote documentation

    Documented new folders in the tests/ folder in the README file. Documented class EtuUTTApiTestCase (and its methods). Documented test classes
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    c31a92c View commit details
    Browse the repository at this point in the history
  25. Simplified algorithm in GroupSeeder

    Co-authored-by: Thomas Ritaine <[email protected]>
    2 people authored and Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    4161407 View commit details
    Browse the repository at this point in the history
  26. ⬆️ (Faker) Replaced library fzaninotto/faker (deprecated) with librar…

    …y fakerphp/faker (#38)
    TeddyRoncin authored and Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    082112b View commit details
    Browse the repository at this point in the history
  27. 🐛 (Dependency version) Updated some code to be able to be run with th…

    …e current version
    
    Some code (in the filters) was outdated and not updated during the rebase
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    08a18f1 View commit details
    Browse the repository at this point in the history
  28. ⬆️ (General dependency upgrade) Many dependencies updated, some code …

    …breaking changes were fixed
    
    Most notable changes are the change of the version of Symfony, ApiPlatform and PHP
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    2b4ae74 View commit details
    Browse the repository at this point in the history
  29. ⏪ (UserDataVisibilityItemDataProvider) Removed a seemingly useless ch…

    …ange in UserDataVisibilityItemDataProvider
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    265781b View commit details
    Browse the repository at this point in the history
  30. 🐛 (GroupAdminVoter) Added a check for the type of $subject in the sup…

    …ports method
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    f5c8596 View commit details
    Browse the repository at this point in the history
  31. 🐛 (PATCH /groups/{id} - security) object (the group to modify) was no…

    …t passed to the voter
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    262c87b View commit details
    Browse the repository at this point in the history
  32. 🐛 (DELETE /groups/{id} - Security) The changes of the new GroupAdminV…

    …oter was not applied here
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    c6993e3 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    e79a2f0 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    8f4763e View commit details
    Browse the repository at this point in the history
  35. ✨ (Helper method in EtuUTTApiTestCase) Added an helper method in EtuU…

    …TTApiTestCase to create a new client
    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    29f9e06 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    490a314 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    aee95f6 View commit details
    Browse the repository at this point in the history
  38. ✅ (Moving changes) Added folder test/Users/

    Teddy Roncin committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    8fa21db View commit details
    Browse the repository at this point in the history