Skip to content

Commit a4b51fa

Browse files
committed
Added example test
1 parent ad114d3 commit a4b51fa

File tree

3 files changed

+93
-0
lines changed

3 files changed

+93
-0
lines changed

tests/Pest.php

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?php
2+
3+
/*
4+
|--------------------------------------------------------------------------
5+
| Test Case
6+
|--------------------------------------------------------------------------
7+
|
8+
| The closure you provide to your test functions is always bound to a specific PHPUnit test
9+
| case class. By default, that class is "PHPUnit\Framework\TestCase". Of course, you may
10+
| need to change it using the "pest()" function to bind a different classes or traits.
11+
|
12+
*/
13+
14+
pest()->extend(Tests\TestCase::class)
15+
// ->use(Illuminate\Foundation\Testing\RefreshDatabase::class)
16+
->in('Feature');
17+
18+
/*
19+
|--------------------------------------------------------------------------
20+
| Expectations
21+
|--------------------------------------------------------------------------
22+
|
23+
| When you're writing tests, you often need to check that values meet certain conditions. The
24+
| "expect()" function gives you access to a set of "expectations" methods that you can use
25+
| to assert different things. Of course, you may extend the Expectation API at any time.
26+
|
27+
*/
28+
29+
expect()->extend('toBeOne', function () {
30+
return $this->toBe(1);
31+
});
32+
33+
/*
34+
|--------------------------------------------------------------------------
35+
| Functions
36+
|--------------------------------------------------------------------------
37+
|
38+
| While Pest is very powerful out-of-the-box, you may have some testing code specific to your
39+
| project that you don't want to repeat in every file. Here you can also expose helpers as
40+
| global functions to help you to reduce the number of lines of code in your test files.
41+
|
42+
*/
43+
44+
function something()
45+
{
46+
// ..
47+
}

tests/TestCase.php

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Tests;
6+
7+
use Closure;
8+
use Illuminate\Foundation\Testing\LazilyRefreshDatabase;
9+
use Illuminate\Support\Facades\Http;
10+
use Mockery\MockInterface;
11+
use Orchestra\Testbench\Attributes\WithMigration;
12+
use Orchestra\Testbench\Concerns\WithWorkbench;
13+
use Orchestra\Testbench\TestCase as Orchestra;
14+
15+
#[WithMigration]
16+
class TestCase extends Orchestra
17+
{
18+
use LazilyRefreshDatabase;
19+
use WithWorkbench;
20+
21+
protected function setUp(): void
22+
{
23+
parent::setUp();
24+
25+
Http::preventingStrayRequests();
26+
}
27+
28+
/**
29+
* Use this when you are using app() to create an instance of a class with parameters.
30+
* The normal mock() method does not correctly mock when using the container in this way.
31+
* e.g. app(Example::class, ['argument' => 'foo'])
32+
*/
33+
protected function mockBind(string $abstract, ?Closure $callback = null): MockInterface
34+
{
35+
$mock = $this->mock($abstract, $callback);
36+
37+
app()->offsetSet($abstract, $mock);
38+
39+
return $mock;
40+
}
41+
}

tests/Unit/ExampleTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?php
2+
3+
test('that true is true', function () {
4+
expect(true)->toBeTrue();
5+
});

0 commit comments

Comments
 (0)