Skip to content

Commit c05fc57

Browse files
authored
✨ added helper to clear remembered files (#7)
1 parent f627e59 commit c05fc57

File tree

2 files changed

+37
-2
lines changed

2 files changed

+37
-2
lines changed

src/helpers.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
<?php
2+
if (! function_exists('clearRememberedFiles')) {
3+
function clearRememberedFiles() {
4+
/** @var Illuminate\Session\Store $session */
5+
$session = app('session');
6+
$session->forget('_remembered_files');
7+
}
8+
}
29

310
if (! function_exists('oldFile')) {
411
/**

tests/UploadTest.php

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ public function setUp()
4141
public function tearDown()
4242
{
4343
$file = new Filesystem();
44-
$this->assertTrue($file->cleanDirectory(storage_path('app' . DIRECTORY_SEPARATOR . 'tmp-image-uploads')));
45-
$this->assertTrue($file->deleteDirectory(storage_path('app' . DIRECTORY_SEPARATOR . 'tmp-image-uploads')));
44+
$file->cleanDirectory(storage_path('app' . DIRECTORY_SEPARATOR . 'tmp-image-uploads'));
45+
$file->deleteDirectory(storage_path('app' . DIRECTORY_SEPARATOR . 'tmp-image-uploads'));
4646
parent::tearDown();
4747
}
4848

@@ -275,6 +275,34 @@ public function testFilesForgottenWhenValidationFails()
275275
$this->assertNull($remembered);
276276
}
277277

278+
/**
279+
* Test written for issue #4.
280+
* Tests the clearRememberedFiles helper function.
281+
* @see https://github.com/photogabble/laravel-remember-uploads/issues/4
282+
*/
283+
public function testClearRememberedFilesHelperFunction()
284+
{
285+
/** @var Store $session */
286+
$session = $this->app->make(Store::class);
287+
288+
$remembered = $session->get('_remembered_files', []);
289+
$this->assertEquals([], $remembered);
290+
291+
$file = $this->mockUploadedFile(__DIR__.DIRECTORY_SEPARATOR.'stubs'.DIRECTORY_SEPARATOR.'test.jpg');
292+
293+
$response = $this->call('POST', 'test', [], [], ['img' => $file], ['Accept' => 'application/json']);
294+
$this->assertTrue($response->isOk());
295+
$session->ageFlashData();
296+
297+
$remembered = $session->get('_remembered_files', []);
298+
$this->assertArrayHasKey('img', $remembered);
299+
300+
clearRememberedFiles();
301+
302+
$remembered = $session->get('_remembered_files', []);
303+
$this->assertEquals([], $remembered);
304+
}
305+
278306
/**
279307
* Mock an uploaded file from a given src file.
280308
*

0 commit comments

Comments
 (0)