Skip to content

Commit 5d2a153

Browse files
committed
add tests
1 parent e92b309 commit 5d2a153

File tree

8 files changed

+138
-22
lines changed

8 files changed

+138
-22
lines changed

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
"illuminate/contracts": "5.8.*"
2424
},
2525
"require-dev": {
26-
"orchestra/testbench": "3.8.*",
26+
"graham-campbell/testbench": "^5.2",
27+
"mockery/mockery": "^1.2",
2728
"phpunit/phpunit": "^7.0"
2829
},
2930
"autoload": {

phpunit.xml.dist

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,4 @@
1919
<directory suffix=".php">src/</directory>
2020
</whitelist>
2121
</filter>
22-
<logging>
23-
<log type="tap" target="build/report.tap"/>
24-
<log type="junit" target="build/report.junit.xml"/>
25-
<log type="coverage-html" target="build/coverage" charset="UTF-8" yui="true" highlight="true"/>
26-
<log type="coverage-text" target="build/coverage.txt"/>
27-
<log type="coverage-clover" target="build/logs/clover.xml"/>
28-
</logging>
2922
</phpunit>

tests/AbstractTestCase.php

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
namespace Hassan\S3BrowserBasedUploads\Tests;
4+
5+
use GrahamCampbell\TestBench\AbstractPackageTestCase;
6+
use Hassan\S3BrowserBasedUploads\ServiceProvider;
7+
8+
abstract class AbstractTestCase extends AbstractPackageTestCase
9+
{
10+
protected function getServiceProviderClass($app)
11+
{
12+
return ServiceProvider::class;
13+
}
14+
15+
protected function getEnvironmentSetUp($app)
16+
{
17+
parent::getEnvironmentSetUp($app);
18+
19+
$app->config->set('filesystems.disks.s3', [
20+
'driver' => 's3',
21+
'key' => 'key',
22+
'secret' => 'AWS_SECRET_ACCESS_KEY',
23+
'region' => 'us-east-1',
24+
'bucket' => 'AWS_BUCKET',
25+
]);
26+
}
27+
28+
protected function getConfig()
29+
{
30+
return [
31+
'disk' => 's3',
32+
'expiration_time' => '+5 minutes',
33+
'inputs' => [],
34+
'conditions' => [],
35+
];
36+
}
37+
}

tests/ExampleTest.php

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace Hassan\S3BrowserBasedUploads\Tests\Facades;
4+
5+
use GrahamCampbell\TestBenchCore\FacadeTrait;
6+
use Hassan\S3BrowserBasedUploads\Facades\S3BrowserBasedUploads;
7+
use Hassan\S3BrowserBasedUploads\S3BrowserBasedUploadsManager;
8+
use Hassan\S3BrowserBasedUploads\Tests\AbstractTestCase;
9+
10+
class S3BrowserBasedUploadsTest extends AbstractTestCase
11+
{
12+
use FacadeTrait;
13+
14+
protected function getFacadeAccessor()
15+
{
16+
return 's3-browser-based-uploads';
17+
}
18+
19+
protected function getFacadeClass()
20+
{
21+
return S3BrowserBasedUploads::class;
22+
}
23+
24+
protected function getFacadeRoot()
25+
{
26+
return S3BrowserBasedUploadsManager::class;
27+
}
28+
}

tests/FactoryTest.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace Hassan\S3BrowserBasedUploads\Tests;
4+
5+
use Hassan\S3BrowserBasedUploads\S3BrowserBasedUploads;
6+
use Hassan\S3BrowserBasedUploads\S3BrowserBasedUploadsFactory;
7+
8+
class FactoryTest extends AbstractTestCase
9+
{
10+
public function test_make()
11+
{
12+
$factory = new S3BrowserBasedUploadsFactory;
13+
14+
$instance = $factory->make($this->getConfig());
15+
16+
$this->assertInstanceOf(S3BrowserBasedUploads::class, $instance);
17+
}
18+
}

tests/ManagerTest.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?php
2+
3+
namespace Hassan\S3BrowserBasedUploads\Tests;
4+
5+
use Hassan\S3BrowserBasedUploads\S3BrowserBasedUploads;
6+
use Mockery;
7+
use Illuminate\Contracts\Config\Repository;
8+
use Hassan\S3BrowserBasedUploads\S3BrowserBasedUploadsManager;
9+
use Hassan\S3BrowserBasedUploads\S3BrowserBasedUploadsFactory;
10+
11+
class ManagerTest extends AbstractTestCase
12+
{
13+
public function test_meke_connection()
14+
{
15+
$repository = Mockery::mock(Repository::class);
16+
$factory = new S3BrowserBasedUploadsFactory;
17+
18+
$repository
19+
->shouldReceive('get')
20+
->once()
21+
->with('s3-browser-based-uploads.connections')
22+
->andReturn(['main' => $this->getConfig()]);
23+
24+
$repository
25+
->shouldReceive('get')
26+
->once()
27+
->with('s3-browser-based-uploads.default')
28+
->andReturn('main');
29+
30+
$manager = new S3BrowserBasedUploadsManager($repository, $factory);
31+
32+
$this->assertInstanceOf(S3BrowserBasedUploads::class, $manager->connection());
33+
}
34+
}

tests/ServiceProviderTest.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace Hassan\S3BrowserBasedUploads\Tests;
4+
5+
use GrahamCampbell\TestBenchCore\ServiceProviderTrait;
6+
use Hassan\S3BrowserBasedUploads\S3BrowserBasedUploadsFactory;
7+
use Hassan\S3BrowserBasedUploads\S3BrowserBasedUploadsManager;
8+
9+
class ServiceProviderTest extends AbstractTestCase
10+
{
11+
use ServiceProviderTrait;
12+
13+
public function test_is_injectable()
14+
{
15+
$this->assertIsInjectable(S3BrowserBasedUploadsFactory::class);
16+
$this->assertIsInjectable(S3BrowserBasedUploadsManager::class);
17+
}
18+
19+
}

0 commit comments

Comments
 (0)