# Chamilo 1.11.x tests directory

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

## Behat integration testing

The current automated tests are developed using Behat. To run them, you will
need a basic default installation of the corresponding version of Chamilo LMS,
which should include the vendor/behat/behat/bin/behat executable.

Make sure you set the right base_url in 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
```

This should run all tests and all of them should pass.

## Folders

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

The scripts available at the root are mostly deprecated.
behat.yml (see Behat section) serves as the configuration for the Behat
test suite.

### api folder

Folder meant as the destination for documentation automatically generated by
running PHPDoc. It only contains a README file by default.

### datafiller

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

### behat

Behat-specific folder

### 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.


### translations

Scripts to help with the move from Chamilo-format translations to PO (gettext)

### video

Scripts to handle mass operations on video files.

### xhprof

Scripts to enable the use of the XHprof profiler (with these, you only need a
small change to your PHP config to enable profiling each Chamilo page).