You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.1 KiB
28 lines
1.1 KiB
<?php
|
|
|
|
namespace Tests\Unit\UI\Support\Excel;
|
|
|
|
use App\UI\Support\Excel\StyledExport;
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
use Maatwebsite\Excel\Concerns\FromQuery;
|
|
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
|
|
use Maatwebsite\Excel\Concerns\WithHeadings;
|
|
use Maatwebsite\Excel\Concerns\WithMapping;
|
|
use Mockery;
|
|
use Tests\TestCase;
|
|
|
|
test('it delegates to the domain export', function () {
|
|
$domainExport = Mockery::mock(FromQuery::class, WithHeadings::class, WithMapping::class, WithColumnFormatting::class);
|
|
|
|
$domainExport->shouldReceive('query')->once()->andReturn(Mockery::mock(Builder::class));
|
|
$domainExport->shouldReceive('headings')->once()->andReturn(['Header']);
|
|
$domainExport->shouldReceive('map')->once()->with('row')->andReturn(['Mapped']);
|
|
$domainExport->shouldReceive('columnFormats')->once()->andReturn(['A' => 'FORMAT']);
|
|
|
|
$export = new StyledExport($domainExport);
|
|
|
|
expect($export->query())->toBeInstanceOf(Builder::class)
|
|
->and($export->headings())->toBe(['Header'])
|
|
->and($export->map('row'))->toBe(['Mapped'])
|
|
->and($export->columnFormats())->toBe(['A' => 'FORMAT']);
|
|
});
|
|
|