Giter Site home page Giter Site logo

michsch / ext-seminars Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oliverklee/ext-seminars

0.0 0.0 0.0 55.78 MB

TYPO3 extension "seminars"

Home Page: https://www.oliverklee.de/typo3-services/seminarmanager/

License: GNU General Public License v2.0

JavaScript 0.44% PHP 95.71% CSS 0.38% HTML 3.47%

ext-seminars's Introduction

Seminars TYPO3 extension

TYPO3 V10 TYPO3 V9 License Total Downloads GitHub CI Status Coverage Status

This TYPO3 extension allows you to create and manage a list of seminars, workshops, lectures, theater performances and other events, allowing front-end users to sign up. FE users also can create and edit events.

Most of the documentation is in ReST format in the Documentation/ folder and is rendered as part of the TYPO3 documentation.

๐Ÿ“‹ Feature survey

There is a feature survey underway to determine which features of this extension are actually in use. Features for which the survey determines that nobody uses them will be removed quite soon.

Please take a few minutes to fill out the survey to ensure your favorite features will not be removed. Thank you! ๐Ÿ™

Compatibility with TYPO3 11LTS/11.5

This extension is not compatible TYPO3 11LTS/11.5 yet. Please consider supporting the crowdfunding campaign to make this happen.

Give it a try!

If you would like to test the extension yourself, there is a DDEV-based TYPO3 distribution with this extension installed and some test records ready to go.

Running the tests locally

You will need to have a Git clone of the extension for this with the Composer dependencies installed.

Running the unit tests

On the command line

To run all unit tests on the command line:

composer ci:tests:unit

To run all unit tests in a directory or file (using the directory Tests/Unit/Model/ as an example):

.Build/vendor/bin/phpunit -c Configuration/UnitTests.xml Tests/Unit/Model/

In PhpStorm

First, you need to configure the path to PHPUnit in the settings:

Languages & Frameworks > PHP > Test Frameworks

In this section, configure PhpStorm to use the Composer autoload and the script path .Build/vendor/autoload.php within your project.

In the Run/Debug configurations for PHPUnit, use an alternative configuration file:

Configuration/UnitTests.xml

Running the functional tests

You will need a local MySQL user that has the permissions to create new databases.

In the examples, the following credentials are used:

  • user name: typo3
  • password: typo3pass
  • DB name prefix: typo3_test (optional)
  • DB host: localhost (omitted as this is the default)

You will need to provide those credentials as environment variables when running the functional tests:

  • typo3DatabaseUsername
  • typo3DatabasePassword
  • typo3DatabaseName

On the command line

To run all functional tests on the command line:

typo3DatabaseUsername=typo3 typo3DatabasePassword=typo3pass typo3DatabaseName=typo3_test composer ci:tests:functional

To run all functional tests in a directory or file (using the directory Tests/Functional/Authentication/ as an example):

typo3DatabaseUsername=typo3 typo3DatabasePassword=typo3pass typo3DatabaseName=typo3_test .Build/vendor/bin/phpunit -c Configuration/FunctionalTests.xml Tests/Functional/Authentication/

In PhpStorm

First, you need to configure the path to PHPUnit in the settings:

Languages & Frameworks > PHP > Test Frameworks

In this section, configure PhpStorm to use the Composer autoload and the script path .Build/vendor/autoload.php within your project.

In the Run/Debug configurations for PHPUnit, use an alternative configuration file:

Configuration/FunctionalTests.xml

Also set the following environment variables in your runner configuration:

  • typo3DatabaseUsername
  • typo3DatabasePassword
  • typo3DatabaseName

Running the legacy tests

It is only possible to run the legacy tests on the command line, but not in PhpStorm.

As with the functional tests, you will need a local MySQL user that has the permissions to create new databases.

First, you will need to create a TYPO3 instance within the extension directory:

.Build/vendor/bin/typo3cms install:setup

You need to create a new database in this step. Using an existing database from an existing TYPO3 instance with content will lead to all sorts of problems.

Use site as the site setup type as some tests require that a root page exists. You do not need to create a web server configuration.

The admin user credentials do not matter here. Hence, you can provide any random credentials (as long as the password is complex enough for the installer to accept it).

For all tests, you will need to provide the following environment variables:

  • DATABASE_USER
  • DATABASE_PASSWORD
  • DATABASE_NAME

To run all legacy tests, you can use the composer script:

DATABASE_USER=typo3 DATABASE_PASSWORD=typo3test DATABASE_NAME=typo3_seminars_legacy composer ci:tests:unit-legacy

Running all tests from a directory or file looks like this (using the directory Tests/LegacyUnit/Email/ as an example):

DATABASE_USER=typo3 DATABASE_PASSWORD=typo3test DATABASE_NAME=typo3_seminars_legacy .Build/vendor/bin/typo3 phpunit:run Tests/LegacyUnit/Email/

For running a single test and for running all tests from a particular group, you can provide additional options:

DATABASE_USER=typo3 DATABASE_PASSWORD=typo3test DATABASE_NAME=typo3_seminars_legacy .Build/vendor/bin/typo3 phpunit:run --options="--filter testCreateLogInAndAddFeUserAsOwnerCreatesFeUser" Tests/LegacyUnit/FrontEnd/EventEditorTest.php
DATABASE_USER=typo3 DATABASE_PASSWORD=typo3test DATABASE_NAME=typo3_seminars_legacy .Build/vendor/bin/typo3 phpunit:run --options="--group sendEMailToReviewer" Tests/LegacyUnit/FrontEnd/EventEditorTest.php

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.