mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-05-30 15:44:41 +00:00
added editor_upload_file_into_shared_folder test
This commit is contained in:
@@ -314,10 +314,12 @@ class EditItemsController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check shared permission
|
// Check shared permission
|
||||||
if (!is_editor($shared)) abort(403);
|
if (is_visitor($shared)) {
|
||||||
|
abort(403);
|
||||||
|
}
|
||||||
|
|
||||||
// Check access to requested directory
|
// Check access to requested directory
|
||||||
Guardian::check_item_access($request->parent_id, $shared);
|
Guardian::check_item_access($request->folder_id, $shared);
|
||||||
|
|
||||||
// Return new uploaded file
|
// Return new uploaded file
|
||||||
$new_file = Editor::upload($request, $shared);
|
$new_file = Editor::upload($request, $shared);
|
||||||
|
|||||||
+11
-13
@@ -463,8 +463,12 @@ class Editor
|
|||||||
self::move_to_external_storage($disk_file_name, $thumbnail);
|
self::move_to_external_storage($disk_file_name, $thumbnail);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Store file
|
// Store user upload size
|
||||||
$options = [
|
User::find($user_id)
|
||||||
|
->record_upload($file_size);
|
||||||
|
|
||||||
|
// Return new file
|
||||||
|
return UserFile::create([
|
||||||
'mimetype' => get_file_type_from_mimetype($file_mimetype),
|
'mimetype' => get_file_type_from_mimetype($file_mimetype),
|
||||||
'type' => get_file_type($file_mimetype),
|
'type' => get_file_type($file_mimetype),
|
||||||
'folder_id' => $request->folder_id,
|
'folder_id' => $request->folder_id,
|
||||||
@@ -475,14 +479,7 @@ class Editor
|
|||||||
'thumbnail' => $thumbnail,
|
'thumbnail' => $thumbnail,
|
||||||
'filesize' => $file_size,
|
'filesize' => $file_size,
|
||||||
'user_id' => $user_id,
|
'user_id' => $user_id,
|
||||||
];
|
]);
|
||||||
|
|
||||||
// Store user upload size
|
|
||||||
User::find($user_id)
|
|
||||||
->record_upload($file_size);
|
|
||||||
|
|
||||||
// Return new file
|
|
||||||
return UserFile::create($options);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -632,15 +629,16 @@ class Editor
|
|||||||
{
|
{
|
||||||
// Get user storage percentage and get storage_limitation setting
|
// Get user storage percentage and get storage_limitation setting
|
||||||
$user_storage_used = user_storage_percentage($user_id, $file_size);
|
$user_storage_used = user_storage_percentage($user_id, $file_size);
|
||||||
$storage_limitation = get_setting('storage_limitation');
|
|
||||||
|
|
||||||
// Check if user can upload
|
// Check if user can upload
|
||||||
if ($storage_limitation && $user_storage_used >= 100) {
|
if (get_setting('storage_limitation') && $user_storage_used >= 100) {
|
||||||
|
|
||||||
// Delete file
|
// Delete file
|
||||||
Storage::disk('local')->delete('chunks/' . $temp_filename);
|
Storage::disk('local')
|
||||||
|
->delete("chunks/$temp_filename");
|
||||||
|
|
||||||
// Abort uploading
|
// Abort uploading
|
||||||
|
// TODO: test pre exceed storage limit
|
||||||
abort(423, 'You exceed your storage limit!');
|
abort(423, 'You exceed your storage limit!');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ class ShareEditorTest extends TestCase
|
|||||||
/**
|
/**
|
||||||
* @test
|
* @test
|
||||||
*/
|
*/
|
||||||
public function it_rename_shared_file()
|
public function editor_rename_shared_file()
|
||||||
{
|
{
|
||||||
$user = User::factory(User::class)
|
$user = User::factory(User::class)
|
||||||
->create();
|
->create();
|
||||||
@@ -69,7 +69,7 @@ class ShareEditorTest extends TestCase
|
|||||||
/**
|
/**
|
||||||
* @test
|
* @test
|
||||||
*/
|
*/
|
||||||
public function it_rename_shared_folder()
|
public function editor_rename_shared_folder()
|
||||||
{
|
{
|
||||||
$user = User::factory(User::class)
|
$user = User::factory(User::class)
|
||||||
->create();
|
->create();
|
||||||
@@ -111,7 +111,7 @@ class ShareEditorTest extends TestCase
|
|||||||
/**
|
/**
|
||||||
* @test
|
* @test
|
||||||
*/
|
*/
|
||||||
public function it_create_new_folder_in_shared_folder()
|
public function editor_create_new_folder_in_shared_folder()
|
||||||
{
|
{
|
||||||
$folder = Folder::factory(Folder::class)
|
$folder = Folder::factory(Folder::class)
|
||||||
->create();
|
->create();
|
||||||
@@ -144,7 +144,7 @@ class ShareEditorTest extends TestCase
|
|||||||
/**
|
/**
|
||||||
* @test
|
* @test
|
||||||
*/
|
*/
|
||||||
public function it_delete_multiple_files_in_shared_folder()
|
public function editor_delete_multiple_files_in_shared_folder()
|
||||||
{
|
{
|
||||||
$folder = Folder::factory(Folder::class)
|
$folder = Folder::factory(Folder::class)
|
||||||
->create();
|
->create();
|
||||||
@@ -187,6 +187,56 @@ class ShareEditorTest extends TestCase
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function editor_upload_file_into_shared_folder()
|
||||||
|
{
|
||||||
|
Storage::fake('local');
|
||||||
|
|
||||||
|
$this->setup->create_directories();
|
||||||
|
|
||||||
|
$user = User::factory(User::class)
|
||||||
|
->create();
|
||||||
|
|
||||||
|
$folder = Folder::factory(Folder::class)
|
||||||
|
->create([
|
||||||
|
'user_id' => $user->id,
|
||||||
|
'user_scope' => 'master',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$share = Share::factory(Share::class)
|
||||||
|
->create([
|
||||||
|
'item_id' => $folder->id,
|
||||||
|
'user_id' => $user->id,
|
||||||
|
'type' => 'folder',
|
||||||
|
'is_protected' => false,
|
||||||
|
'permission' => 'editor',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$file = UploadedFile::fake()
|
||||||
|
->create('fake-file.pdf', 1000, 'application/pdf');
|
||||||
|
|
||||||
|
$this->postJson("/api/editor/upload/public/$share->token", [
|
||||||
|
'file' => $file,
|
||||||
|
'folder_id' => $folder->id,
|
||||||
|
'is_last' => true,
|
||||||
|
])->assertStatus(201);
|
||||||
|
|
||||||
|
$this->assertDatabaseHas('traffic', [
|
||||||
|
'user_id' => $user->id,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->assertDatabaseHas('files', [
|
||||||
|
'user_scope' => 'editor',
|
||||||
|
]);
|
||||||
|
|
||||||
|
Storage::disk('local')
|
||||||
|
->assertExists(
|
||||||
|
"files/$user->id/fake-file.pdf"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @test
|
* @test
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user