diff --git a/resources/views/projects/files.blade.php b/resources/views/projects/files.blade.php
index 890cf69..ea71f90 100755
--- a/resources/views/projects/files.blade.php
+++ b/resources/views/projects/files.blade.php
@@ -42,7 +42,8 @@
{!! html_link_to_route('files.download', '', [$file->id], ['icon' => 'file', 'title' => __('file.download')]) !!}
|
- {!! html_link_to_route('projects.files', '', [$project->id, 'action' => 'edit', 'id' => $file->id], ['icon' => 'edit', 'title' => __('file.edit')]) !!}
+ {!! html_link_to_route('projects.files', '', [$project, 'action' => 'edit', 'id' => $file->id], ['icon' => 'edit', 'title' => __('file.edit')]) !!}
+ {!! html_link_to_route('projects.files', '', [$project, 'action' => 'delete', 'id' => $file->id], ['icon' => 'remove', 'title' => __('file.delete'), 'id' => 'delete-file-'.$file->id]) !!}
|
@empty
@@ -79,7 +80,22 @@
{!! Form::close() !!}
- @endif
+ @endif
+ @if (Request::get('action') == 'delete' && $editableFile)
+
+
{{ __('file.delete') }} : {{ $editableFile->title }}
+
{{ __('file.delete_confirm') }}
+
+
+ @endif
diff --git a/routes/web/projects.php b/routes/web/projects.php
index c51d41e..c1b6deb 100644
--- a/routes/web/projects.php
+++ b/routes/web/projects.php
@@ -61,6 +61,7 @@ Route::group(['middleware' => ['auth'], 'namespace' => 'Projects'], function ()
Route::post('files/{fileable}', ['as' => 'files.upload', 'uses' => 'FilesController@create']);
Route::get('files/{file}', ['as' => 'files.download', 'uses' => 'FilesController@show']);
Route::patch('files/{file}', ['as' => 'files.update', 'uses' => 'FilesController@update']);
+ Route::delete('files/{file}', ['as' => 'files.destroy', 'uses' => 'FilesController@destroy']);
});
Route::group(['middleware' => ['auth']], function () {
diff --git a/tests/Feature/Projects/UploadFilesTest.php b/tests/Feature/Projects/UploadFilesTest.php
index a1d8fd7..03e114e 100644
--- a/tests/Feature/Projects/UploadFilesTest.php
+++ b/tests/Feature/Projects/UploadFilesTest.php
@@ -15,7 +15,7 @@ class UploadFilesTest extends TestCase
/** @test */
public function user_can_upload_document_to_a_project()
{
- Storage::fake('avatar');
+ Storage::fake(config('filesystem.default'));
$user = $this->adminUserSigningIn();
$project = factory(Project::class)->create();
$this->visit(route('projects.files', $project->id));
@@ -38,13 +38,13 @@ class UploadFilesTest extends TestCase
]);
$file = $project->files->first();
- Storage::disk('avatar')->assertExists('public/files/'.$file->filename);
+ Storage::assertExists('public/files/'.$file->filename);
}
/** @test */
public function user_can_edit_document_file_on_a_project()
{
- Storage::fake('avatar');
+ Storage::fake(config('filesystem.default'));
$user = $this->adminUserSigningIn();
$project = factory(Project::class)->create();
@@ -75,6 +75,37 @@ class UploadFilesTest extends TestCase
'description' => 'Edit Deskripsi file yang diuplod.',
]);
- Storage::disk('avatar')->assertExists('public/files/'.$file->filename);
+ Storage::assertExists('public/files/'.$file->filename);
+ }
+
+ /** @test */
+ public function user_can_delete_document_file_on_a_project()
+ {
+ Storage::fake(config('filesystem.default'));
+ $user = $this->adminUserSigningIn();
+ $project = factory(Project::class)->create();
+
+ $this->visit(route('projects.files', $project));
+
+ $this->attach(UploadedFile::fake()->image('avatar.jpg'), 'file');
+ $this->type('Judul file', 'title');
+ $this->type('Deskripsi file yang diuplod.', 'description');
+ $this->press(__('file.upload'));
+
+ $this->assertCount(1, $project->files);
+
+ $file = $project->files->first();
+ Storage::assertExists('public/files/'.$file->filename);
+
+ $this->visit(route('projects.files', $project));
+ $this->click('delete-file-'.$file->id);
+ $this->seePageIs(route('projects.files', [$project, 'action' => 'delete', 'id' => $file->id]));
+
+ $this->press(__('app.delete_confirm_button'));
+
+ $this->seePageIs(route('projects.files', $project));
+ $this->seeText(__('file.deleted'));
+ $this->dontSeeInDatabase('files', ['id' => $file->id]);
+ Storage::assertMissing('public/files/'.$file->filename);
}
}