oliverklee / TYPO3-testing-distribution

TYPO3 installation for testing my extensions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TYPO3 CMS distribution for testing my extensions

This is a TYPO3 distribution which I use to manually test my extensions:

Usage

This distribution uses ddev.

Initializing the project

ddev start
ddev composer install
ddev install-typo3

Database dump and import

There are two commands available for dumping the database and for importing the dump to and from the file dump.sql:

ddev db-dump
ddev db-import

The dump includes (and hence overwrite on import) FE users and FE user groups, but not BE users or BE user groups. (So it is safe to add BE users and then run the import.)

Developing and testing extensions

To test a local copy of an extension in this distribution, you can do one of the following (or a combination):

  1. Put the extension folders in src/extensions/.
  2. Mount the extension directories via Docker. For this, create the file .ddev/docker-compose.packages.yaml as a copy of .ddev/docker-compose.packages.yaml.template and modify it to your needs.

Configuring PHPUnit

The DDEVd documentation provides very good step-by-step instructions for the Docker setup in PhpStorm.

After that, you need to configure the PhpStorm templates for PHPUnit tests:

  • Configuration file: config/UnitTests.xml
  • Environment variables: typo3DatabaseUsername=root;typo3DatabaseHost=db;TYPO3_PATH_WEB=public/;typo3DatabaseName=typo3_test;typo3DatabasePassword=root

Also, config/UnitTests.xml is the configuration file for unit tests, while config/FunctionalTests.xml is the corresponding file for functional tests.

Relevant URLs and launch options

Credentials

Backend admin: admin / Password1!
Install tool password: Password1!

Frontend users:

  • attendee / attendee
  • editor / editor
  • manager / manager
  • admin / password (with all three of the above roles combined)

About

TYPO3 installation for testing my extensions

License:GNU General Public License v2.0


Languages

Language:PHP 71.8%Language:HTML 14.4%Language:Shell 13.8%