GOOD SHELL MAS BOY
Server: Apache/2.4.52 (Ubuntu)
System: Linux vmi1836763.contaboserver.net 5.15.0-130-generic #140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024 x86_64
User: www-data (33)
PHP: 8.4.10
Disabled: NONE
Upload Files
File: /var/www/html/vendor/cloudinary-labs/cloudinary-laravel/tests/Unit/MediaAllyTest.php
<?php

use Illuminate\Http\UploadedFile;
use Mockery\MockInterface;
use Tests\Fixtures\Models\Example;

beforeEach(function () {
    $this->mock('overload:'.Cloudinary\Api\Upload\UploadApi::class, function (MockInterface $mock) {
        $mock->shouldReceive('upload')->andReturn([
            'public_id' => 'file',
            'bytes' => '123',
            'secure_url' => 'https://example.com/file.jpg',
            'resource_type' => 'image',
        ]);

        $mock->shouldReceive('destroy')->andReturn([
            'result' => 'ok',
        ]);
    })->makePartial();
});

it('can attach media to a model', function () {
    $example = Example::create([]);

    $example->attachMedia(UploadedFile::fake()->image('file.jpg'));

    expect($example->fetchAllMedia())->toHaveCount(1);
});

it('can delete one media from a model', function () {

    $example = Example::create([]);

    $example->attachMedia(UploadedFile::fake()->image('file.jpg'));
    $example->attachMedia(UploadedFile::fake()->image('file.jpg'));

    expect($example->fetchAllMedia())->toHaveCount(2);

    $media = $example->fetchAllMedia()->first();
    $example->detachMedia($media);

    expect($example->fetchAllMedia())->toHaveCount(1);
});

it('can delete multiple media from a model', function () {

    $example = Example::create([]);

    $example->attachMedia(UploadedFile::fake()->image('file.jpg'));
    $example->attachMedia(UploadedFile::fake()->image('file.jpg'));
    $example->attachMedia(UploadedFile::fake()->image('file.jpg'));

    expect($example->fetchAllMedia())->toHaveCount(3);

    $media = $example->fetchAllMedia()->slice(0, 2);
    $example->detachMedia($media);

    expect($example->fetchAllMedia())->toHaveCount(1);
});

it('can delete all media from a model', function () {

    $example = Example::create([]);

    $example->attachMedia(UploadedFile::fake()->image('file.jpg'));
    $example->attachMedia(UploadedFile::fake()->image('file.jpg'));
    $example->attachMedia(UploadedFile::fake()->image('file.jpg'));

    expect($example->fetchAllMedia())->toHaveCount(3);

    $example->detachMedia();

    expect($example->fetchAllMedia())->toHaveCount(0);
});