Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/tests
NicoDucou a6274a2d28 Script: Cron: add a flush on user update when it's a new user to avoid error when updating extra fields and needing a user Id - refs BT#20864 3 months ago
..
CoreBundle Minor: Format code 3 months ago
CourseBundle Minor: Format code 3 months ago
behat CI: Fix default behat config 2 years ago
datafiller Course add: Use course entity instead of api_get_course_info 4 years ago
fixtures Tests: Move test files inside fixtures + add tests 3 years ago
history Documentation: Add database schemas for 1.9, 1.10 and 1.11 (big MB footprint, sorry) 7 years ago
phpstan Fix PHPStan 4 years ago
procedures/spanish attempting restore of tests dir removed during bigmerge 13 years ago
scripts Script: Cron: add a flush on user update when it's a new user to avoid error when updating extra fields and needing a user Id - refs BT#20864 3 months ago
AbstractApiTest.php Minor: Format code 5 months ago
ApplicationAvailabilityFunctionalTest.php Tests: Fix phpunit tests 3 years ago
ChamiloTestTrait.php Internal: Add ContainerHelper to inject dependencies in legacy container 7 months ago
README.md Minor: Internal: Tests: Add "--complete" option asked by doctrine:schema:update 10 months ago
bootstrap.php Internal: Update symfony/phpunit-bridge recipe 7 months ago

README.md

Chamilo 2.x tests directory

This directory is being used for all kinds of tests and scripts and is removed from public releases as it may represent a risk for production systems.

Behat

Make sure you set the right base_url in behat/behat.yml, then run (on the command line, from the tests/ directory):

../vendor/behat/behat/bin/behat behat/features/login.feature
../vendor/behat/behat/bin/behat behat/features/createUser.feature
../vendor/behat/behat/bin/behat behat/features/createCourse.feature
../vendor/behat/behat/bin/behat behat/features/courseTools.feature
../vendor/behat/behat/bin/behat behat/features/forum.feature
../vendor/behat/behat/bin/behat behat/features/socialGroup.feature
../vendor/behat/behat/bin/behat behat/features/accessCompanyReports.feature

PHPUnit

We use the default Symfony PHPUnit settings:

https://symfony.com/doc/current/testing.html

Setup a test database

Create a new env file called .env.test.local with your MySQL credentials for your new test database.

DATABASE_HOST='127.0.0.1'
DATABASE_PORT='3306'
DATABASE_NAME='chamilo_test'
DATABASE_USER='root'
DATABASE_PASSWORD='root'

After creating the .env.test.local file execute:

php bin/console --env=test cache:clear
php bin/console --env=test doctrine:database:create
php bin/console --env=test doctrine:schema:create
php bin/console --env=test doctrine:fixtures:load --no-interaction

If there are DB changes you can migrate your test installation with:

php bin/console --env=test doctrine:schema:update --force --complete

Those commands will install Chamilo in the chamilo_test database.

In order to delete the test database and restart the process use:

php bin/console --env=test doctrine:database:drop --force --complete

Use

Execute the tests with:

php bin/phpunit

Folders

Although many scripts here are deprecated, the current structure can be described as follows

datafiller

Set of scripts to fill your test installation of Chamilo with demo content.

history

Attempt at keeping a track of what Chamilo looked like over time.

migrations

Combination of unofficial scripts to execute migrations from other systems

procedures

xls spreadsheets to be used as base for manual quality review of features in Chamilo.

scripts

A collection of scripts used to fix or improve some things globally in Chamilo portals. Mostly for old versions.