WIP on migrating Postgres integration tests

This commit is contained in:
2024-11-14 23:38:47 -05:00
parent 7cdbf5fcdb
commit 3ec1a05d82
12 changed files with 377 additions and 415 deletions

View File

@@ -0,0 +1,47 @@
<?php
/**
* @author Daniel J. Summers <daniel@bitbadger.solutions>
* @license MIT
*/
declare(strict_types=1);
use BitBadger\PDODocument\{Definition, DocumentIndex};
pest()->group('integration', 'postgresql');
describe('::ensureTable()', function () {
test('creates a table', function () {
expect($this->dbObjectExists('ensured'))->toBeFalse()
->and($this->dbObjectExists('idx_ensured_key'))->toBeFalse();
Definition::ensureTable('ensured');
expect($this->dbObjectExists('ensured'))->toBeTrue()
->and($this->dbObjectExists('idx_ensured_key'))->toBeTrue();
});
});
describe('::ensureFieldIndex()', function () {
test('creates an index', function () {
expect($this->dbObjectExists('idx_ensured_test'))->toBeFalse();
Definition::ensureTable('ensured');
Definition::ensureFieldIndex('ensured', 'test', ['name', 'age']);
expect($this->dbObjectExists('idx_ensured_test'))->toBeTrue();
});
});
describe('::ensureDocumentIndex()', function () {
test('creates a full index', function () {
$docIdx = 'idx_doc_table_document';
Definition::ensureTable('doc_table');
expect($this->dbObjectExists($docIdx))->toBeFalse();
Definition::ensureDocumentIndex('doc_table', DocumentIndex::Full);
expect($this->dbObjectExists($docIdx))->toBeTrue();
});
test('creates an optimized index', function () {
$docIdx = 'idx_doc_tbl_document';
Definition::ensureTable('doc_tbl');
expect($this->dbObjectExists($docIdx))->toBeFalse();
Definition::ensureDocumentIndex('doc_tbl', DocumentIndex::Optimized);
expect($this->dbObjectExists($docIdx))->toBeTrue();
});
});