Compare commits

..

3 Commits

Author SHA1 Message Date
99205c4aa8 docs: updates changelog 2020-05-15 02:15:32 +02:00
1268384fb3 Merge pull request #7 from pestphp/feat/helpers
feat(helpers): adds helpers file
2020-05-15 02:12:12 +02:00
c97fd17120 feat(helpers): adds helpers file 2020-05-14 23:03:56 +02:00
6 changed files with 41 additions and 5 deletions

View File

@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
## [Unreleased]
## [v0.1.2 (2020-05-15)](https://github.com/pestphp/pest/compare/v0.1.1...v0.1.2)
### Added
- Support to custom helpers ([#7](https://github.com/pestphp/pest/pull/7))
## [v0.1.1 (2020-05-14)](https://github.com/pestphp/pest/compare/v0.1.0...v0.1.1)
### Added
- `test` function without any arguments returns the current test case ([6fc55be](https://github.com/pestphp/pest/commit/6fc55becc8aecff685a958617015be1a4c118b01))

View File

@ -22,6 +22,7 @@ final class LoadStructure
*/
private const STRUCTURE = [
'Datasets.php',
'Helpers.php',
'Pest.php',
'Datasets',
];

View File

@ -33,18 +33,29 @@ final class PestInstallCommand extends Command
public function handle(): void
{
/* @phpstan-ignore-next-line */
$target = base_path('tests/Pest.php');
$pest = base_path('tests/Pest.php');
/* @phpstan-ignore-next-line */
$helpers = base_path('tests/Helpers.php');
if (File::exists($target)) {
throw new InvalidConsoleArgument(sprintf('%s already exist', $target));
foreach ([$pest, $helpers] as $file) {
if (File::exists($file)) {
throw new InvalidConsoleArgument(sprintf('%s already exist', $file));
}
}
File::copy(implode(DIRECTORY_SEPARATOR, [
dirname(__DIR__, 3),
'stubs',
'Pest.php',
]), $target);
]), $pest);
File::copy(implode(DIRECTORY_SEPARATOR, [
dirname(__DIR__, 3),
'stubs',
'Helpers.php',
]), $helpers);
$this->output->success('`tests/Pest.php` created successfully.');
$this->output->success('`tests/Helpers.php` created successfully.');
}
}

12
stubs/Helpers.php Normal file
View File

@ -0,0 +1,12 @@
<?php
use Illuminate\Contracts\Auth\Authenticatable;
use Tests\TestCase;
/**
* Set the currently logged in user for the application.
*/
function actingAs(Authenticatable $user, string $driver = null): TestCase
{
return test()->actingAs($user, $driver);
}

View File

@ -6,7 +6,7 @@ interface Foo
}
it('has bar', function () {
$mock = Mockery::mock(Foo::class);
$mock = mock(Foo::class);
$mock->shouldReceive('bar')
->times(1)
->andReturn(2);

8
tests/Helpers.php Normal file
View File

@ -0,0 +1,8 @@
<?php
use Mockery\MockInterface;
function mock(string $class): MockInterface
{
return Mockery::mock($class);
}