rachidlaasri / travel
Framework agnostic PHP package to control the time.
Installs: 132 551
Dependents: 2
Suggesters: 0
Security: 0
Stars: 284
Watchers: 7
Forks: 12
Open Issues: 1
Requires
- php: >=7.2
- nesbot/carbon: >=1.29.0
Requires (Dev)
- phpunit/phpunit: ^8.2|^9.1
README
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