Skip to content

Commit a2f234f

Browse files
committed
tests: convert to expect
1 parent f5e774d commit a2f234f

File tree

1 file changed

+53
-40
lines changed

1 file changed

+53
-40
lines changed

tests/Feature/SQLLoaderTest.php

Lines changed: 53 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,13 @@
66
use Yajra\SQLLoader\SQLLoader;
77
use Yajra\SQLLoader\TnsBuilder;
88

9-
use function PHPUnit\Framework\assertInstanceOf;
10-
use function PHPUnit\Framework\assertStringContainsString;
11-
129
test('it throws an error on invalid/non-existent file', function () {
1310
$loader = new SQLLoader(['skip=1', 'load=2']);
1411
$loader->inFile('file.dat');
1512
})->throws(InvalidArgumentException::class, 'File [file.dat] does not exist.');
1613

1714
test('it can create an instance and build the command', function () {
18-
assertInstanceOf(SQLLoader::class, SQLLoader::make());
15+
expect(SQLLoader::make())->toBeInstanceOf(SQLLoader::class);
1916

2017
$file = __DIR__.'/../data/users.dat';
2118

@@ -24,22 +21,24 @@
2421
->as('users.ctl')
2522
->into('users', ['id', 'name', 'email']);
2623

27-
assertInstanceOf(SQLLoader::class, $loader);
24+
expect($loader)->toBeInstanceOf(SQLLoader::class);
2825

2926
$controlFile = $loader->buildControlFile();
30-
assertStringContainsString('OPTIONS(skip=1, load=2)', $controlFile);
31-
assertStringContainsString("INFILE '{$file}'", $controlFile);
32-
assertStringContainsString("BADFILE 'users.bad'", $controlFile);
33-
assertStringContainsString("DISCARDFILE 'users.dis'", $controlFile);
34-
assertStringContainsString('DISCARDMAX 1', $controlFile);
35-
assertStringContainsString('APPEND', $controlFile);
36-
assertStringContainsString('INTO TABLE users', $controlFile);
37-
assertStringContainsString("FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'", $controlFile);
38-
assertStringContainsString('(', $controlFile);
39-
assertStringContainsString(' id,', $controlFile);
40-
assertStringContainsString(' name,', $controlFile);
41-
assertStringContainsString(' email', $controlFile);
42-
assertStringContainsString(')', $controlFile);
27+
28+
expect($controlFile)->toBeString()
29+
->toContain('OPTIONS(skip=1, load=2)')
30+
->toContain("INFILE '{$file}'")
31+
->toContain("BADFILE 'users.bad'")
32+
->toContain("DISCARDFILE 'users.dis'")
33+
->toContain('DISCARDMAX 1')
34+
->toContain('APPEND')
35+
->toContain('INTO TABLE users')
36+
->toContain("FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'")
37+
->toContain('(')
38+
->toContain(' id,')
39+
->toContain(' name,')
40+
->toContain(' email')
41+
->toContain(')');
4342
});
4443

4544
test('sqlldr process is invoked', function () {
@@ -134,10 +133,18 @@
134133
->execute();
135134

136135
$controlFile = $loader->buildControlFile();
137-
assertStringContainsString("\"NAME\",\n", $controlFile);
138-
assertStringContainsString("\"EMAIL\",\n", $controlFile);
139-
assertStringContainsString('"PHONE" FILLER', $controlFile);
140-
assertStringContainsString('"CREATED_AT" DATE', $controlFile);
136+
137+
expect($controlFile)->toBeString()
138+
->toContain("INFILE '".__DIR__.'/../data/filler.dat')
139+
->toContain('INTO TABLE users')
140+
->toContain('FIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\'')
141+
->toContain('TRAILING NULLCOLS')
142+
->toContain('(')
143+
->toContain('"NAME",')
144+
->toContain('"EMAIL",')
145+
->toContain('"PHONE" FILLER', $controlFile)
146+
->toContain('"CREATED_AT" DATE')
147+
->toContain(')');
141148
});
142149

143150
test('it can detect BOOLEAN columns and set the default value if empty', function () {
@@ -151,11 +158,13 @@
151158
->execute();
152159

153160
$controlFile = $loader->buildControlFile();
154-
assertStringContainsString("\"NAME\",\n", $controlFile);
155-
assertStringContainsString("\"EMAIL\",\n", $controlFile);
156-
assertStringContainsString('"PHONE" FILLER', $controlFile);
157-
assertStringContainsString('"CREATED_AT" DATE', $controlFile);
158-
assertStringContainsString("\"IS_ACTIVE\" \"DECODE(:is_active, '', '1', :is_active)\"", $controlFile);
161+
162+
expect($controlFile)->toBeString()
163+
->toContain('"NAME"')
164+
->toContain('"EMAIL"')
165+
->toContain('"PHONE" FILLER')
166+
->toContain('"CREATED_AT" DATE')
167+
->toContain('"IS_ACTIVE" "DECODE(:is_active, \'\', \'1\', :is_active)"');
159168
});
160169

161170
test('it can detect BOOLEAN columns and set the default value to 0 if no default was defined', function () {
@@ -169,11 +178,13 @@
169178
->execute();
170179

171180
$controlFile = $loader->buildControlFile();
172-
assertStringContainsString("\"NAME\",\n", $controlFile);
173-
assertStringContainsString("\"EMAIL\",\n", $controlFile);
174-
assertStringContainsString('"PHONE" FILLER', $controlFile);
175-
assertStringContainsString('"CREATED_AT" DATE', $controlFile);
176-
assertStringContainsString("\"IS_ACTIVE\" \"DECODE(:is_active, '', '0', :is_active)\"", $controlFile);
181+
182+
expect($controlFile)->toBeString()
183+
->toContain('"NAME"')
184+
->toContain('"EMAIL"')
185+
->toContain('"PHONE" FILLER')
186+
->toContain('"CREATED_AT" DATE')
187+
->toContain('"IS_ACTIVE" "DECODE(:is_active, \'\', \'0\', :is_active)"');
177188
});
178189

179190
test('it accepts withHeader on input file with wildcard', function () {
@@ -188,12 +199,14 @@
188199
->execute();
189200

190201
$controlFile = $loader->buildControlFile();
191-
assertStringContainsString("INFILE '{$path}'", $controlFile);
192-
assertStringContainsString('INTO TABLE users', $controlFile);
193-
assertStringContainsString('FIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\'', $controlFile);
194-
assertStringContainsString('TRAILING NULLCOLS', $controlFile);
195-
assertStringContainsString('(', $controlFile);
196-
assertStringContainsString('"NAME",', $controlFile);
197-
assertStringContainsString('"EMAIL"', $controlFile);
198-
assertStringContainsString(')', $controlFile);
202+
203+
expect($controlFile)->toBeString()
204+
->toContain("INFILE '{$path}'")
205+
->toContain('INTO TABLE users')
206+
->toContain('FIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\'')
207+
->toContain('TRAILING NULLCOLS')
208+
->toContain('(')
209+
->toContain('"NAME",')
210+
->toContain('"EMAIL"')
211+
->toContain(')');
199212
});

0 commit comments

Comments
 (0)