Skip to content

Instantly share code, notes, and snippets.

@NandoKstroNet
Created March 14, 2023 14:43
Show Gist options
  • Save NandoKstroNet/9763f566278870ebca2c65bd1691c2ae to your computer and use it in GitHub Desktop.
Save NandoKstroNet/9763f566278870ebca2c65bd1691c2ae to your computer and use it in GitHub Desktop.
Teste de Integração da Conversão do Nosso Livro para PDF no Projeto MiniLeanpub em https://codeexperts.com.br/
<?php
namespace Tests\MiniLeanpub\Integration\Application\UseCases\ConvertBookToPDF;
use Tests\MiniLeanpub\LaravelTestCase;
use App\Models\Book;
use MiniLeanpub\Application\UseCases\Book\ConvertBookToPDF\ConvertBookToPDFUseCase;
use MiniLeanpub\Application\UseCases\Book\ConvertBookToPDF\DTO\ConvertBookToPDFInputDTO;
use MiniLeanpub\Infrastructure\Queue\Book\BookConverterQueueSender;
use MiniLeanpub\Infrastructure\Repository\Book\BookEloquentRepository;
class ConvertBookToPDFUseCaseTest extends LaravelTestCase
{
public function testConvertBookToPDFUseCaseWithDependencies()
{
$repository = new BookEloquentRepository(new Book());
$bookCode = '188e831e-0335-4bc9-9deb-c4d6dba6b258';
$repository->create([
'bookCode' => $bookCode,
'title' => 'Book Test',
'description' => 'Book Description',
'price' => 1.99,
'bookPath' => storage_path('app/books/' . $bookCode . '/chapters')
]);
$input = new ConvertBookToPDFInputDTO($bookCode);
$queueSender = new BookConverterQueueSender($bookCode);
$useCase = new ConvertBookToPDFUseCase($input, $repository, $queueSender);
$result = $useCase->handle();
$this->assertEquals($bookCode, $result->getData()['bookCode']);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment