Skip to content

Commit eb16a62

Browse files
committed
feat: add feature test for file move
1 parent 2c361ca commit eb16a62

File tree

9 files changed

+67
-41
lines changed

9 files changed

+67
-41
lines changed

.yarn/install-state.gz

665 Bytes
Binary file not shown.

app/Services/FileMoveService.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
use App\Events\FileMovedEvent;
66
use App\Events\FileMovingEvent;
77
use Illuminate\Contracts\Filesystem\Filesystem;
8-
use Illuminate\Support\Facades\Log;
98

109
class FileMoveService
1110
{

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"eslint": "^8.47.0",
1313
"eslint-plugin-vue": "^9.17.0",
1414
"laravel-vite-plugin": "^0.8.0",
15-
"postcss": "^8.4.28",
15+
"postcss": "^8.4.31",
1616
"sass": "^1.66.1",
1717
"sass-loader": "^13.3.2",
1818
"tailwindcss": "^3.3.3",

resources/js/Components/Bucket/Partials/File.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import moment from "moment";
33
import { DocumentIcon, VideoCameraIcon, PhotoIcon, ExclamationCircleIcon, LockOpenIcon, LockClosedIcon } from '@heroicons/vue/24/outline'
44
import OptionMenu from "@components/Bucket/Partials/OptionMenu.vue";
55
import { DialogTitle, Switch } from '@headlessui/vue'
6-
import {ref, defineEmits, watch} from "vue";
6+
import {ref, watch} from "vue";
77
import {router} from "@inertiajs/vue3";
88
import route from "ziggy-js";
99
import DeleteModal from "@components/Bucket/Modals/DeleteModal.vue";

resources/js/Components/Bucket/Partials/Folder.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script setup>
22
import {ExclamationCircleIcon, FolderIcon} from "@heroicons/vue/24/outline/index.js";
33
import OptionMenu from "@components/Bucket/Partials/OptionMenu.vue";
4-
import {ref, defineEmits} from "vue";
4+
import {ref} from "vue";
55
import route from "ziggy-js";
66
import { useDropZone } from '@vueuse/core'
77
import { DialogTitle } from "@headlessui/vue";

tests/Feature/ExampleTest.php

Lines changed: 0 additions & 19 deletions
This file was deleted.

tests/Feature/FileMoveTest.php

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?php
2+
3+
namespace Tests\Feature;
4+
5+
use App\Events\FileMovedEvent;
6+
use App\Events\FileMovingEvent;
7+
use App\Services\FileManagerService;
8+
use App\Services\FileMoveService;
9+
use Illuminate\Foundation\Testing\RefreshDatabase;
10+
use Illuminate\Foundation\Testing\WithFaker;
11+
use Illuminate\Support\Facades\Event;
12+
use Tests\TestCase;
13+
use Illuminate\Http\UploadedFile;
14+
use Illuminate\Support\Facades\Storage;
15+
16+
class FileMoveTest extends TestCase
17+
{
18+
19+
20+
/**
21+
* A basic feature test example.
22+
*/
23+
public function test_file_move(): void
24+
{
25+
Event::fake([
26+
FileMovingEvent::class,
27+
FileMovedEvent::class
28+
]);
29+
Storage::fake('from');
30+
Storage::fake('to');
31+
32+
$fromDisk = Storage::disk('from');
33+
$toDisk = Storage::disk('to');
34+
35+
$fileManagerService = new FileManagerService();
36+
$fileManagerService->setDisk($fromDisk)->uploadFile('/', UploadedFile::fake()->image('photo.jpg'));
37+
38+
// check uploaded file exists on disk
39+
$fromDisk->assertExists('photo.jpg');
40+
41+
// move file
42+
$fileMoveService = new FileMoveService();
43+
$fileMoveService
44+
->setFromDisk($fromDisk)
45+
->setToDisk($toDisk)
46+
->moveFile('/photo.jpg', '/');
47+
48+
// check file exists on new disk after move
49+
$toDisk->assertExists('photo.jpg');
50+
}
51+
}

tests/Unit/ExampleTest.php

Lines changed: 0 additions & 16 deletions
This file was deleted.

yarn.lock

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3056,7 +3056,7 @@ __metadata:
30563056
languageName: node
30573057
linkType: hard
30583058

3059-
"postcss@npm:^8.1.10, postcss@npm:^8.4.23, postcss@npm:^8.4.27, postcss@npm:^8.4.28":
3059+
"postcss@npm:^8.1.10, postcss@npm:^8.4.23, postcss@npm:^8.4.27":
30603060
version: 8.4.28
30613061
resolution: "postcss@npm:8.4.28"
30623062
dependencies:
@@ -3067,6 +3067,17 @@ __metadata:
30673067
languageName: node
30683068
linkType: hard
30693069

3070+
"postcss@npm:^8.4.31":
3071+
version: 8.4.31
3072+
resolution: "postcss@npm:8.4.31"
3073+
dependencies:
3074+
nanoid: ^3.3.6
3075+
picocolors: ^1.0.0
3076+
source-map-js: ^1.0.2
3077+
checksum: 1d8611341b073143ad90486fcdfeab49edd243377b1f51834dc4f6d028e82ce5190e4f11bb2633276864503654fb7cab28e67abdc0fbf9d1f88cad4a0ff0beea
3078+
languageName: node
3079+
linkType: hard
3080+
30703081
"preact@npm:^10.5.13":
30713082
version: 10.17.1
30723083
resolution: "preact@npm:10.17.1"
@@ -3290,7 +3301,7 @@ __metadata:
32903301
moment: ^2.29.4
32913302
pinia: ^2.1.6
32923303
portal-vue: next
3293-
postcss: ^8.4.28
3304+
postcss: ^8.4.31
32943305
pusher-js: ^8.3.0
32953306
sass: ^1.66.1
32963307
sass-loader: ^13.3.2

0 commit comments

Comments
 (0)