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

Feat/tests #37

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

Feat/tests #37

wants to merge 35 commits into from

Commits on Feb 26, 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 26, 2023
    Configuration menu
    Copy the full SHA
    41cd56a 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 26, 2023
    Configuration menu
    Copy the full SHA
    a407db4 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 26, 2023
    Configuration menu
    Copy the full SHA
    8cd4cb0 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 26, 2023
    Configuration menu
    Copy the full SHA
    fc47ca9 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 26, 2023
    Configuration menu
    Copy the full SHA
    a331c66 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 26, 2023
    Configuration menu
    Copy the full SHA
    6cee57c 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 26, 2023
    Configuration menu
    Copy the full SHA
    3c2a16d 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 26, 2023
    Configuration menu
    Copy the full SHA
    f3a8c22 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 26, 2023
    Configuration menu
    Copy the full SHA
    4aa1e85 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 26, 2023
    Configuration menu
    Copy the full SHA
    ebcde94 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 26, 2023
    Configuration menu
    Copy the full SHA
    120a3b4 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    469db60 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 26, 2023
    Configuration menu
    Copy the full SHA
    d359c8d 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 26, 2023
    Configuration menu
    Copy the full SHA
    74da716 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 26, 2023
    Configuration menu
    Copy the full SHA
    ca2deca 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 26, 2023
    Configuration menu
    Copy the full SHA
    0853fa0 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 26, 2023
    Configuration menu
    Copy the full SHA
    64714af 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 26, 2023
    Configuration menu
    Copy the full SHA
    cada920 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 26, 2023
    Configuration menu
    Copy the full SHA
    f865c08 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 26, 2023
    Configuration menu
    Copy the full SHA
    dc954e3 View commit details
    Browse the repository at this point in the history
  21. 🐛 (Fixed tests) Fixed some errors in tests

    Teddy Roncin committed Feb 26, 2023
    Configuration menu
    Copy the full SHA
    c40947b 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 26, 2023
    Configuration menu
    Copy the full SHA
    b5c119c View commit details
    Browse the repository at this point in the history
  23. 🚨 (tests) Linted tests folder

    Teddy Roncin committed Feb 26, 2023
    Configuration menu
    Copy the full SHA
    07410e9 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 26, 2023
    Configuration menu
    Copy the full SHA
    f16783b 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 26, 2023
    Configuration menu
    Copy the full SHA
    a84e5f2 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 26, 2023
    Configuration menu
    Copy the full SHA
    15767e3 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 26, 2023
    Configuration menu
    Copy the full SHA
    ad02aa2 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 26, 2023
    Configuration menu
    Copy the full SHA
    b4b06ce 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 26, 2023
    Configuration menu
    Copy the full SHA
    d4a513e 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 26, 2023
    Configuration menu
    Copy the full SHA
    6bc5b65 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 26, 2023
    Configuration menu
    Copy the full SHA
    5e37b17 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 26, 2023
    Configuration menu
    Copy the full SHA
    9511fa6 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    25f178b View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    82543e2 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 26, 2023
    Configuration menu
    Copy the full SHA
    67e9a58 View commit details
    Browse the repository at this point in the history