PhpDev.App
rashidlaasri/travel

rashidlaasri/travel

Stars: 286

Forks: 12

Pull Requests: 8

Issues: 3

Watchers: 7

Last Updated: 2021-03-04 11:48:27

Framework agnostic PHP package to control the time.

License: MIT License

Languages: PHP

rashidlaasri travel

StyleCI License Travis Ci build Latest Version on Packagist Total Downloads

Travel is a framework agnostic wrapper around Carbon, it helps you travel to a certain date and travel back to today's date in a readable way.

Installation

You can install the package via composer:

composer require --dev rachidlaasri/travel

Usage

Travel to a certain date with:

public function testBasicTest()
{
    Travel::to('01-01-2009');

    // Date is now 01-01-2009
    // code goes here...
}

Travel to a given date, excute a piece of code and reset:

public function testBasicTest()
{
    // Verify that the user cannot update a post after 10 minutes of its creation time.
    $post = factory(App\Post::class)->create();

    Travel::to('10 minutes', function() use ($post) {
        $this->postJson(route('posts.edit', $post->id), [])
            ->assertStatus(403);
    });
}

Travel to multiple dates with:

public function testBasicTest()
{
    // Travel to multiple dates:
    Travel::each(['01-01-2009', '04-02-2009', '03-02-2006'], function() {
        // Do something.
    });
}

Reset the date to today's date

Travel::back();

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Treeware

You're free to use this package, but if it makes it to your production environment I would highly appreciate you buying the world a tree.

It’s now common knowledge that one of the best tools to tackle the climate crisis and keep our temperatures from rising above 1.5C is to plant trees. If you contribute to my forest you’ll be creating employment for local families and restoring wildlife habitats.

You can buy trees at offset.earth/treeware

Read more about Treeware at https://treeware.earth