Compare commits

...

27 Commits

Author SHA1 Message Date
fa13016785 docs: update changelog 2021-02-04 09:15:54 +00:00
b81bb9d621 chore(deps): add support for PHPUnit 9.5.2 2021-02-04 09:12:29 +00:00
2deb53c14f docs: fix typo 2021-01-18 09:50:21 +00:00
6b8feed08a docs: update changelog 2021-01-18 09:35:53 +00:00
2fe8e07cf3 Merge pull request #261 from owenvoke/feature/update-phpunit
chore(deps): add support for PHPUnit 9.5.1
2021-01-18 09:31:57 +00:00
d2c907868e chore(deps): add support for PHPUnit 9.5.1 2021-01-18 09:11:38 +00:00
a2900a5e09 Merge pull request #251 from MatanYadaev/fix-expect-phpdoc
Fix `TestCase@expect` phpDoc
2021-01-05 20:19:03 +01:00
df934bacd9 fix TestCase expect phpDoc 2021-01-05 20:42:14 +02:00
b0f03c278d docs: updates changelog 2021-01-03 17:27:11 +01:00
b59b321249 Merge pull request #245 from gpibarra/make-dusk-test
MakeDuskTest
2021-01-02 23:35:32 +01:00
82d6991cf8 docs: updates sponsors 2020-12-28 20:17:23 +01:00
d693d99379 Update src/Laravel/Commands/PestTestCommand.php
Co-authored-by: Owen Voke <development@voke.dev>
2020-12-28 13:51:03 -03:00
50c1136be8 MakeDuskTest 2020-12-28 13:13:30 -03:00
dd491e516c Update FUNDING.yml 2020-12-28 15:54:30 +01:00
078aab0d3d Update FUNDING.yml 2020-12-28 02:00:30 +01:00
89c9f4b428 Update FUNDING.yml 2020-12-28 01:59:56 +01:00
2148e896e2 Update FUNDING.yml 2020-12-28 01:59:30 +01:00
7ba49b2e3e chore: fixes style 2020-12-27 21:42:08 +01:00
54a285f7e3 Update PestInstallCommand.php 2020-12-27 17:40:26 +01:00
3ed20d059c Merge pull request #240 from pestphp/feat/improve-init
feat: improve init files
2020-12-27 16:25:48 +01:00
92b6800f28 feat(improve-init): fixes styleci 2020-12-27 15:39:17 +01:00
29cfd1a2dc feat(improve-init): typos 2020-12-27 15:33:52 +01:00
45c09ea0ed feat(improve-init): wording 2020-12-27 15:28:32 +01:00
424e24d530 feat: improve init files 2020-12-27 15:24:21 +01:00
26b2e3561a docs: update changelog 2020-12-27 11:36:24 +00:00
60aea6798d Merge pull request #239 from gpibarra/patch-1
change binary path pest:dusk
2020-12-27 02:46:08 +01:00
6abc2207b2 change binary path pest:dusk
In windows not work
full path is used in [7e05b3ca4f/src/Console/DuskCommand.php (L91)) and [163d5c2bd8/src/Adapters/Laravel/Commands/TestCommand.php (L108))
2020-12-23 15:08:49 -03:00
15 changed files with 95 additions and 82 deletions

2
.github/FUNDING.yml vendored
View File

@ -1,5 +1,5 @@
# These are supported funding model platforms
github: nunomaduro
github: [nunomaduro,owenvoke,olivernybroe,octoper]
patreon: nunomaduro
custom: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L

View File

@ -4,6 +4,29 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
## [v1.0.2 (2021-02-04)](https://github.com/pestphp/pest/compare/v1.0.1...v1.0.2)
### Added
- Support for PHPUnit 9.5.2 ([#267](https://github.com/pestphp/pest/pull/267))
## [v1.0.1 (2021-01-18)](https://github.com/pestphp/pest/compare/v1.0.0...v1.0.1)
### Added
- Support for PHPUnit 9.5.1 ([#261](https://github.com/pestphp/pest/pull/261))
### Fixed
- Fix `TestCase@expect` PHPDoc tag ([#251](https://github.com/pestphp/pest/pull/251))
## [v1.0.0 (2021-01-03)](https://github.com/pestphp/pest/compare/v0.3.19...v1.0.0)
### Added
- `pest:test --dusk` option ([#245](https://github.com/pestphp/pest/pull/245))
### Changed
- Stable version
- Updates init structure ([#240](https://github.com/pestphp/pest/pull/240))
## [v0.3.19 (2020-12-27)](https://github.com/pestphp/pest/compare/v0.3.18...v0.3.19)
### Fixed
- Fix binary path in `pest:dusk` command ([#239](https://github.com/pestphp/pest/pull/239))
## [v0.3.18 (2020-12-26)](https://github.com/pestphp/pest/compare/v0.3.17...v0.3.18)
### Added
- `toBeJson()` expectation ([plugin-expectations#2](https://github.com/pestphp/pest-plugin-expectations/pull/2))

View File

@ -21,6 +21,7 @@ We would like to extend our thanks to the following sponsors for funding Pest de
### Premium Sponsors
- **[Scout APM](https://github.com/scoutapp)**
- **[Scout APM](https://scoutapm.com)**
- **[Akaunting](https://akaunting.com)**
Pest was created by **[Nuno Maduro](https://twitter.com/enunomaduro)** under the **[Sponsorware license](https://github.com/sponsorware/docs)**. It got open-sourced and is now licensed under the **[MIT license](https://opensource.org/licenses/MIT)**.

View File

@ -19,11 +19,11 @@
"require": {
"php": "^7.3 || ^8.0",
"nunomaduro/collision": "^5.0",
"pestphp/pest-plugin": "^0.3",
"pestphp/pest-plugin-coverage": "^0.3",
"pestphp/pest-plugin-expectations": "^0.3.3",
"pestphp/pest-plugin-init": "^0.3",
"phpunit/phpunit": ">= 9.3.7 <= 9.5.0"
"pestphp/pest-plugin": "^1.0",
"pestphp/pest-plugin-coverage": "^1.0",
"pestphp/pest-plugin-expectations": "^1.0",
"pestphp/pest-plugin-init": "^1.0",
"phpunit/phpunit": ">= 9.3.7 <= 9.5.2"
},
"autoload": {
"psr-4": {
@ -43,8 +43,8 @@
]
},
"require-dev": {
"illuminate/console": "^7.16.1",
"illuminate/support": "^7.16.1",
"illuminate/console": "^8.0",
"illuminate/support": "^8.0",
"laravel/dusk": "^6.9.1",
"mockery/mockery": "^1.4.1",
"pestphp/pest-dev-tools": "dev-master"
@ -74,7 +74,7 @@
},
"extra": {
"branch-alias": {
"dev-master": "0.3.x-dev"
"dev-master": "1.x-dev"
},
"pest": {
"plugins": [

View File

@ -33,9 +33,9 @@ final class PestDuskCommand extends DuskCommand
protected function binary()
{
if ('phpdbg' === PHP_SAPI) {
return [PHP_BINARY, '-qrr', 'vendor/bin/pest'];
return [PHP_BINARY, '-qrr', 'vendor/pestphp/pest/bin/pest'];
}
return [PHP_BINARY, 'vendor/bin/pest'];
return [PHP_BINARY, 'vendor/pestphp/pest/bin/pest'];
}
}

View File

@ -8,7 +8,6 @@ use Illuminate\Console\Command;
use Illuminate\Support\Facades\File;
use Pest\Console\Thanks;
use Pest\Exceptions\InvalidConsoleArgument;
use Pest\Support\Str;
/**
* @internal
@ -36,14 +35,10 @@ final class PestInstallCommand extends Command
{
/* @phpstan-ignore-next-line */
$pest = base_path('tests/Pest.php');
/* @phpstan-ignore-next-line */
$helpers = base_path('tests/Helpers.php');
$stubs = $this->isLumen() ? 'stubs/Lumen' : 'stubs/Laravel';
$stubs = 'stubs/Laravel';
foreach ([$pest, $helpers] as $file) {
if (File::exists($file)) {
throw new InvalidConsoleArgument(sprintf('%s already exist', $file));
}
if (File::exists($pest)) {
throw new InvalidConsoleArgument(sprintf('%s already exist', $pest));
}
File::copy(implode(DIRECTORY_SEPARATOR, [
@ -52,26 +47,10 @@ final class PestInstallCommand extends Command
'Pest.php',
]), $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.');
if (!(bool) $this->option('no-interaction')) {
(new Thanks($this->output))();
}
}
/**
* Determine if this is a Lumen application.
*/
private function isLumen(): bool
{
/* @phpstan-ignore-next-line */
return Str::startsWith(app()->version(), 'Lumen');
}
}

View File

@ -19,7 +19,7 @@ final class PestTestCommand extends Command
*
* @var string
*/
protected $signature = 'pest:test {name : The name of the file} {--unit : Create a unit test}';
protected $signature = 'pest:test {name : The name of the file} {--unit : Create a unit test} {--dusk : Create a Dusk test}';
/**
* The console command description.
@ -36,7 +36,7 @@ final class PestTestCommand extends Command
/** @var string $name */
$name = $this->argument('name');
$type = ((bool) $this->option('unit')) ? 'Unit' : 'Feature';
$type = ((bool) $this->option('unit')) ? 'Unit' : (((bool) $this->option('dusk')) ? 'Browser' : 'Feature');
$relativePath = sprintf('tests/%s/%s.php',
$type,

View File

@ -12,7 +12,7 @@ use Pest\TestSuite;
use SebastianBergmann\Exporter\Exporter;
/**
* @method \Pest\Expectation expect(mixed $value)
* @method \Pest\Expectations\Expectation expect(mixed $value)
*
* @internal
*/

View File

@ -6,5 +6,5 @@ namespace Pest;
function version(): string
{
return '0.3.18';
return '1.0.2';
}

10
stubs/Browser.php Normal file
View File

@ -0,0 +1,10 @@
<?php
use Laravel\Dusk\Browser;
it('has {name} page', function () {
$this->browse(function (Browser $browser) {
$browser->visit('/{name}')
->assertSee('{name}');
});
});

View File

@ -1,11 +0,0 @@
<?php
namespace Tests;
/**
* A basic assert example.
*/
function assertExample(): void
{
test()->assertTrue(true);
}

View File

@ -1,3 +1,45 @@
<?php
/*
|--------------------------------------------------------------------------
| Test Case
|--------------------------------------------------------------------------
|
| The closure you provide to your test functions is always bound to a specific PHPUnit test
| case class. By default, that class is "PHPUnit\Framework\TestCase". Of course, you may
| need to change it using the "uses()" function to bind a different classes or traits.
|
*/
uses(Tests\TestCase::class)->in('Feature');
/*
|--------------------------------------------------------------------------
| Expectations
|--------------------------------------------------------------------------
|
| When you're writing tests, you often need to check that values meet certain conditions. The
| "expect()" function gives you access to a set of "expectations" methods that you can use
| to assert different things. Of course, you may extend the Expectation API at any time.
|
*/
expect()->extend('toBeOne', function () {
return $this->toBe(1);
});
/*
|--------------------------------------------------------------------------
| Functions
|--------------------------------------------------------------------------
|
| While Pest is very powerful out-of-the-box, you may have some testing code specific to your
| project that you don't want to repeat in every file. Here you can also expose helpers as
| global functions to help you to reduce the number of lines of code in your test files.
|
*/
function something()
{
// ..
}

View File

@ -1,11 +0,0 @@
<?php
namespace Tests;
/**
* A basic assert example.
*/
function assertExample(): void
{
test()->assertTrue(true);
}

View File

@ -1,3 +0,0 @@
<?php
uses(TestCase::class)->in(__DIR__);

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
bootstrap="vendor/autoload.php"
colors="true"
>
<testsuites>
<testsuite name="Application Test Suite">
<directory suffix="Test.php">./tests</directory>
</testsuite>
</testsuites>
<coverage processUncoveredFiles="true">
<include>
<directory suffix=".php">./app</directory>
</include>
</coverage>
</phpunit>