Skip to content

Commit

Permalink
test: control file
Browse files Browse the repository at this point in the history
  • Loading branch information
yajra committed May 28, 2024
1 parent b7767a8 commit 87240ae
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions tests/Feature/ControlFileBuilderTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php

use Yajra\SQLLoader\ControlFileBuilder;
use Yajra\SQLLoader\SQLLoader;

test('it can build a control file', function () {
$loader = new SQLLoader(['skip=1', 'load=2']);
$loader->inFile(__DIR__.'/../data/users.dat')
->as('users.ctl')
->into('users', ['id', 'name', 'email']);

$ctl = new ControlFileBuilder($loader);
$controlFile = $ctl->build();

expect($controlFile)->toBeString()
->and($controlFile)->toContain('OPTIONS(skip=1 load=2)')
->and($controlFile)->toContain("INFILE '".__DIR__."/../data/users.dat'")
->and($controlFile)->toContain("users.bad'")
->and($controlFile)->toContain("users.dis'")
->and($controlFile)->toContain('APPEND')
->and($controlFile)->toContain('INTO TABLE users')
->and($controlFile)->toContain("FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'")
->and($controlFile)->toContain('(id, name, email)');
});

0 comments on commit 87240ae

Please sign in to comment.