dazzle/behat-date-manipulation

Allows you to execute commands in custom steps with a different system date.

dev-master 2024-03-07 15:23 UTC

This package is auto-updated.

Last update: 2024-05-07 15:47:14 UTC


README

This package allows you to execute a command that is time sensitive.

When do I need this?

If you have time sensitive steps to execute, for example a cronjob picks up items that are older than X days.

Installation

Installation through composer:

composer require dazzle/behat-date-manipulation:dev-master

This package depends on libfaketime.

Installation in most cases is as simple as:

git clone https://github.com/wolfcw/libfaketime.git
cd libfaketime && make install

Usage

In your Behat config YAML file add following part in the 'Contexts':

- Dazzle\BehatDateManipulation\FeatureContext:
            parameters:
              install_path: "/usr/local/lib/faketime/libfaketime.so.1"

The default libfaketime path should normally be OK.

Example steps:

Given I manipulate the date with "+30d" and execute command "php my_cron.php"

Given I manipulate the date with "-15d" and execute command "date"
And I save it into "DATE"
And I expect "<<DATE>>" to equal "xxxx"

The second example uses rdx/behat-variables which is not included in this package but might be useful if you want to work with the output that this package provides.

Credits

www.dazzle.be www.aperta.be