diff --git a/app/Http/Controllers/Projects/FilesController.php b/app/Http/Controllers/Projects/FilesController.php
index 53c6d4b..2f4e1cf 100644
--- a/app/Http/Controllers/Projects/FilesController.php
+++ b/app/Http/Controllers/Projects/FilesController.php
@@ -33,6 +33,7 @@ class FilesController extends Controller
public function create(Request $request, $fileableId)
{
$this->validate($request, [
+ 'fileable_type' => 'required',
'file' => 'required|file|max:10000',
'title' => 'required|max:60',
'description' => 'nullable|max:255',
@@ -96,7 +97,11 @@ class FilesController extends Controller
$fileData['description'] = $data['description'];
\DB::beginTransaction();
// dd(is_dir(storage_path('app/public/files')));
- $file->storeAs('public/files', $fileName);
+ if (env('APP_ENV') == 'testing') {
+ $file->store('public/files', 'avatar');
+ } else {
+ $file->store('public/files');
+ }
// $file->move(storage_path('app/public/files'));
$file = File::create($fileData);
\DB::commit();
diff --git a/resources/views/projects/files.blade.php b/resources/views/projects/files.blade.php
index 01b841c..f10949f 100755
--- a/resources/views/projects/files.blade.php
+++ b/resources/views/projects/files.blade.php
@@ -46,7 +46,7 @@
@empty
-
| {{ trans('file.empty') }} |
+ | {{ trans('file.empty') }} |
@endforelse
diff --git a/storage/framework/testing/.gitignore b/storage/framework/testing/.gitignore
new file mode 100755
index 0000000..d6b7ef3
--- /dev/null
+++ b/storage/framework/testing/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tests/Feature/Projects/UploadFilesTest.php b/tests/Feature/Projects/UploadFilesTest.php
index bc159b5..9ce234e 100644
--- a/tests/Feature/Projects/UploadFilesTest.php
+++ b/tests/Feature/Projects/UploadFilesTest.php
@@ -2,7 +2,11 @@
namespace Tests\Feature\Projects;
+use App\Entities\Projects\File;
use App\Entities\Projects\Project;
+use Illuminate\Http\Testing\FileFactory;
+use Illuminate\Http\UploadedFile;
+use Storage;
use Tests\TestCase;
class UploadFilesTest extends TestCase
@@ -10,6 +14,7 @@ class UploadFilesTest extends TestCase
/** @test */
public function user_can_upload_document_to_a_project()
{
+ Storage::fake('avatar');
$user = $this->adminUserSigningIn();
$project = factory(Project::class)->create(['owner_id' => $user->id]);
$this->visit(route('projects.files', $project->id));
@@ -17,7 +22,7 @@ class UploadFilesTest extends TestCase
$this->seeElement('input', ['id' => 'file']);
$this->seeElement('input', ['type' => 'submit', 'value' => trans('file.upload')]);
- $this->attach(storage_path('app/guitar-640.jpg'), 'file');
+ $this->attach(UploadedFile::fake()->create('avatar.txt'), 'file');
$this->type('Judul file', 'title');
$this->type('Deskripsi file yang diuplod.', 'description');
$this->press(trans('file.upload'));
@@ -32,18 +37,23 @@ class UploadFilesTest extends TestCase
]);
$file = $project->files->first();
- $filePath = storage_path('app/public/files/' . $file->filename);
- $this->assertFileExistsThenDelete($filePath, 'File doesn\'t exists.');
+ Storage::disk('avatar')->assertExists('public/files/' . $file->filename);
}
/** @test */
public function user_can_edit_document_file_on_a_project()
{
+ Storage::fake('avatar');
$user = $this->adminUserSigningIn();
$project = factory(Project::class)->create(['owner_id' => $user->id]);
+ // $file = factory(File::class, 'project')->create(['fileable_id' => $project->id]);
+ // dd(get_class_methods((new FileFactory)->create('123.txt')));
+ // $result = Storage::disk('avatar')->put('public/files', (new FileFactory)->create('123.txt'));
+ // dd($result);
+
$this->visit(route('projects.files', [$project->id]));
- $this->attach(storage_path('app/guitar-640.jpg'), 'file');
+ $this->attach(UploadedFile::fake()->image('avatar.jpg'), 'file');
$this->type('Judul file', 'title');
$this->type('Deskripsi file yang diuplod.', 'description');
$this->press(trans('file.upload'));
@@ -68,7 +78,6 @@ class UploadFilesTest extends TestCase
'description' => 'Edit Deskripsi file yang diuplod.',
]);
- $filePath = storage_path('app/public/files/' . $file->filename);
- $this->assertFileExistsThenDelete($filePath, 'File doesn\'t exists.');
+ Storage::disk('avatar')->assertExists('public/files/' . $file->filename);
}
}