Skip to content

Commit 191697a

Browse files
authored
Merge pull request #7 from aternosorg/test-driver
allow get on non existing table
2 parents 5b61f0b + 9cc2fa1 commit 191697a

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

src/Driver/Test/TestDriver.php

+3-6
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,11 @@ public function addTable(string $name, array $entries): static
4747
/**
4848
* @param string $name
4949
* @return TestTable
50-
* @throws Exception
5150
*/
5251
public function getTable(string $name): TestTable
5352
{
5453
if (!$this->tables[$name]) {
55-
throw new Exception("Table " . $name . " does not exist.");
54+
$this->tables[$name] = new TestTable($name);
5655
}
5756
return $this->tables[$name];
5857
}
@@ -64,10 +63,8 @@ public function getTable(string $name): TestTable
6463
*/
6564
public function addEntry(string $tableName, array $entry): static
6665
{
67-
if (!isset($this->tables[$tableName])) {
68-
$this->tables[$tableName] = new TestTable($tableName);
69-
}
70-
$this->tables[$tableName]->addEntry(new TestTableEntry($entry));
66+
$table = $this->getTable($tableName);
67+
$table->addEntry(new TestTableEntry($entry));
7168
return $this;
7269
}
7370

test/tests/TestDriverTest.php

+13
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
namespace Aternos\Model\Test\Tests;
44

5+
use Aternos\Model\Driver\DriverRegistry;
6+
use Aternos\Model\Driver\Test\TestDriver;
57
use Aternos\Model\Query\CountField;
68
use Aternos\Model\Query\DeleteQuery;
79
use Aternos\Model\Query\OrderField;
@@ -12,6 +14,7 @@
1214
use Aternos\Model\Test\Src\TestModel;
1315
use Exception;
1416
use PHPUnit\Framework\TestCase;
17+
use PHPUnit\Util\Test;
1518

1619
class TestDriverTest extends TestCase
1720
{
@@ -42,6 +45,16 @@ public function testGet(): void
4245
$this->assertEquals(1, $model->number);
4346
}
4447

48+
public function testGetOnNonExistingTable(): void
49+
{
50+
/** @var TestDriver $driver */
51+
$driver = DriverRegistry::getInstance()->getDriver("test");
52+
$driver->clearTables();
53+
54+
$model = TestModel::get("1B");
55+
$this->assertNull($model);
56+
}
57+
4558
/**
4659
* @return void
4760
* @throws Exception

0 commit comments

Comments
 (0)