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

<?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']);
});