第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 Laravel 中測(cè)試文件上傳

在 Laravel 中測(cè)試文件上傳

PHP
幕布斯7119047 2021-12-03 16:10:43
我正在使用帶有 Dropzone.js 的 Laravel 5.8 將文件上傳到庫(kù),我能夠成功地做到這一點(diǎn)。我認(rèn)為編寫(xiě)一個(gè)測(cè)試來(lái)驗(yàn)證這一點(diǎn)是一種很好的做法,但它總是失敗。我的控制器方法看起來(lái)像剛剛被調(diào)用store,它看起來(lái)像這樣:/** * Store a new library file in the database * * @param StoreArticle $request * @return void */public function store(StoreLibrary $request){    $data = $request->validated();    $category = $data['category'];    $files = $data['file'];    foreach ($files as $file) {        $original_name = $file->getClientOriginalName();        $mime_type = $file->getClientOriginalExtension();        $size = $file->getSize();        // Generate a name for this file         $system_generated_name = sha1(date('YmdHis') . str_random(30)) . '.' . $file->getClientOriginalExtension();        // Store the file on the disk 'library'        $path = Storage::disk('library')->putFileAs(null, $file, $system_generated_name);        // Store a reference to this file in the database        Library::create([            'display_name' => $original_name,            'file_name' => $system_generated_name,            'mime_type' => $mime_type,            'size' => $size,            'disk' => $this->disk,            'storage_location' => $path,            'category' => $category,        ]);    }    // Return a JSON response    return response()->json([        'success' => true,        'file' => [            'original_name' => $original_name,            'generated_name' => $system_generated_name,            'path' => $path,            'size' => $size,        ]    ], 200);}
查看完整描述

1 回答

?
小怪獸愛(ài)吃肉

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊

我設(shè)法找到了解決此問(wèn)題的方法。這是因?yàn)閒ile是一個(gè)數(shù)組,這意味著它在測(cè)試時(shí)需要有鍵和索引。


這顯示在下面的代碼中:


/** @test */

public function a_user_with_permission_can_add_files_to_the_library()

{

    $this->withoutExceptionHandling();


    Storage::fake('library');


    $this->setupPermissions();


    $user = factory(User::class)->create();


    $user->assignRole('admin');


    // Assert the uploading an image returns a 200 response

    $this->actingAs($user)

        ->post(route('admin.library.store'), [

            'category' => 'Some category',

            'file' => [

                0 => UploadedFile::fake()->create("test.jpg", 100),

                1 => UploadedFile::fake()->create("test.png", 100),

                2 => UploadedFile::fake()->create("test.doc", 100),

                3 => UploadedFile::fake()->create("test.ppt", 100),

                4 => UploadedFile::fake()->create("test.pdf", 100),

            ]

        ])->assertStatus(200);


    $this->assertEquals(5, Library::count());

}


查看完整回答
反對(duì) 回復(fù) 2021-12-03
  • 1 回答
  • 0 關(guān)注
  • 181 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)