Skip to content

Commit 6cf1ff3

Browse files
committed
add api test
1 parent 124f071 commit 6cf1ff3

File tree

3 files changed

+88
-3
lines changed

3 files changed

+88
-3
lines changed

src/controllers/FolderController.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ public function getAddfolder()
4646

4747
$path = parent::getPath('directory') . $folder_name;
4848

49-
if (File::exists($path)) {
50-
return Lang::get('laravel-filemanager::lfm.error-folder-exist');
51-
} elseif (empty($folder_name)) {
49+
if (empty($folder_name)) {
5250
return Lang::get('laravel-filemanager::lfm.error-folder-name');
51+
} elseif (File::exists($path)) {
52+
return Lang::get('laravel-filemanager::lfm.error-folder-exist');
5353
} elseif (Config::get('lfm.alphanumeric_directory') && preg_match('/[^\w-]/i', $folder_name)) {
5454
return Lang::get('laravel-filemanager::lfm.error-folder-alnum');
5555
} else {

tests/TestApi.php

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<?php
2+
3+
class TestApi extends TestCase
4+
{
5+
public function testFolder()
6+
{
7+
auth()->loginUsingId(1);
8+
9+
$create = $this->getResponseByRouteName('getAddfolder', [
10+
'name' => 'testcase'
11+
]);
12+
13+
$create_duplicate = $this->getResponseByRouteName('getAddfolder', [
14+
'name' => 'testcase'
15+
]);
16+
17+
$create_empty = $this->getResponseByRouteName('getAddfolder', [
18+
'name' => ''
19+
]);
20+
21+
Config::set('lfm.alphanumeric_directory', true);
22+
$create_alphanumeric = $this->getResponseByRouteName('getAddfolder', [
23+
'name' => '測試資料夾'
24+
]);
25+
26+
$rename = $this->getResponseByRouteName('getRename', [
27+
'file' => 'testcase',
28+
'new_name' => 'testcase2'
29+
]);
30+
31+
$delete = $this->getResponseByRouteName('getDelete', [
32+
'item' => 'testcase2'
33+
]);
34+
35+
$this->assertEquals($create, 'OK');
36+
$this->assertEquals($create_duplicate, trans('laravel-filemanager::lfm.error-folder-exist'));
37+
$this->assertEquals($create_empty, trans('laravel-filemanager::lfm.error-folder-name'));
38+
$this->assertEquals($create_alphanumeric, trans('laravel-filemanager::lfm.error-folder-alnum'));
39+
$this->assertEquals($rename, 'OK');
40+
$this->assertEquals($delete, 'OK');
41+
}
42+
43+
public function testUpload()
44+
{
45+
auth()->loginUsingId(1);
46+
47+
$upload = $this->getResponseByRouteName('getDelete', [
48+
'upload' => base_path('vendor/unisharp/laravel-filemanager/public/images/test-folder/sleeping-dog.jpg')
49+
]);
50+
51+
$this->assertEquals($upload, 'OK');
52+
}
53+
54+
private function getResponseByRouteName($route_name, $input = [])
55+
{
56+
$response = $this->call('GET', route('unisharp.lfm.' . $route_name), $input);
57+
$data = json_encode($response);
58+
return $response->getContent();
59+
}
60+
}

tests/TestCase.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
class TestCase extends Illuminate\Foundation\Testing\TestCase
4+
{
5+
/**
6+
* The base URL to use while testing the application.
7+
*
8+
* @var string
9+
*/
10+
protected $baseUrl = 'http://localhost';
11+
12+
/**
13+
* Creates the application.
14+
*
15+
* @return \Illuminate\Foundation\Application
16+
*/
17+
public function createApplication()
18+
{
19+
$app = require './bootstrap/app.php';
20+
21+
$app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
22+
23+
return $app;
24+
}
25+
}

0 commit comments

Comments
 (0)