Skip to content

Commit

Permalink
Merge pull request #64 from rakit/update-first-of-all
Browse files Browse the repository at this point in the history
Update firstOfAll to return array assoc
  • Loading branch information
emsifa committed Nov 17, 2018
2 parents 60373fd + 69b5110 commit 064f3ac
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 7 deletions.
8 changes: 6 additions & 2 deletions src/ErrorBag.php
Original file line number Diff line number Diff line change
Expand Up @@ -99,12 +99,16 @@ public function all($format = ':message')
return $results;
}

public function firstOfAll($format = ':message')
public function firstOfAll($format = ':message', $dotNotation = false)
{
$messages = $this->messages;
$results = [];
foreach($messages as $key => $keyMessages) {
$results[] = $this->formatMessage(array_shift($messages[$key]), $format);
if ($dotNotation) {
$results[$key] = $this->formatMessage(array_shift($messages[$key]), $format);
} else {
Helper::arraySet($results, $key, $this->formatMessage(array_shift($messages[$key]), $format));
}
}
return $results;
}
Expand Down
46 changes: 41 additions & 5 deletions tests/ErrorBagTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -265,13 +265,49 @@ public function testFirstOfAll()
]);

$this->assertEquals($errors->firstOfAll('prefix :message suffix'), [
'prefix 1 suffix',
'email' => 'prefix 1 suffix',
'items' => [
[
'id_product' => 'prefix 3 suffix',
'qty' => 'prefix a suffix'
],
[
'id_product' => 'prefix 4 suffix',
'qty' => 'prefix b suffix'
],
]
]);
}

'prefix 3 suffix',
'prefix a suffix',
public function testFirstOfAllDotNotation()
{
$errors = new ErrorBag([
'email' => [
'email' => '1',
'unique' => '2',
],
'items.0.id_product' => [
'numeric' => '3',
'etc' => 'x'
],
'items.0.qty' => [
'numeric' => 'a'
],
'items.1.id_product' => [
'numeric' => '4',
'etc' => 'y'
],
'items.1.qty' => [
'numeric' => 'b'
]
]);

'prefix 4 suffix',
'prefix b suffix',
$this->assertEquals($errors->firstOfAll('prefix :message suffix', true), [
'email' => 'prefix 1 suffix',
'items.0.id_product' => 'prefix 3 suffix',
'items.0.qty' => 'prefix a suffix',
'items.1.id_product' => 'prefix 4 suffix',
'items.1.qty' => 'prefix b suffix',
]);
}

Expand Down

0 comments on commit 064f3ac

Please sign in to comment.