Added more imports

This commit is contained in:
Constantin Graf
2024-03-11 19:12:51 +01:00
parent 77e7a63b83
commit 66a1d8a38b
52 changed files with 1646 additions and 56 deletions

View File

@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace Tests\Unit\Service\Import;
use App\Models\Organization;
use App\Models\Project;
use App\Models\User;
use App\Service\Import\ImportDatabaseHelper;
@@ -74,4 +75,64 @@ class ImportDatabaseHelperTest extends TestCase
// Assert
$this->fail();
}
public function test_get_key_by_external_identifier_returns_key_for_external_identifier(): void
{
// Arrange
$organization = Organization::factory()->create();
$project = Project::factory()->forOrganization($organization)->create();
$externalIdentifier1 = '12345';
$externalIdentifier2 = '54321';
$helper = new ImportDatabaseHelper(Project::class, ['name', 'organization_id'], true);
$helper->getKey([
'name' => $project->name,
'organization_id' => $organization->getKey(),
], [
'color' => '#000000',
], $externalIdentifier1);
$helper->getKey([
'name' => 'Not existing project',
'organization_id' => $organization->getKey(),
], [
'color' => '#000000',
], $externalIdentifier2);
// Act
$key1 = $helper->getKeyByExternalIdentifier($externalIdentifier1);
$key2 = $helper->getKeyByExternalIdentifier($externalIdentifier2);
// Assert
$this->assertSame($project->getKey(), $key1);
$this->assertSame(Project::where('name', '=', 'Not existing project')->first()->getKey(), $key2);
}
public function test_get_external_ids_returns_all_external_ids_that_were_temporary_stored_via_get_key(): void
{
// Arrange
$organization = Organization::factory()->create();
$project = Project::factory()->forOrganization($organization)->create();
$externalIdentifier1 = '12345';
$externalIdentifier2 = '54321';
$helper = new ImportDatabaseHelper(Project::class, ['name', 'organization_id'], true);
$helper->getKey([
'name' => $project->name,
'organization_id' => $organization->getKey(),
], [
'color' => '#000000',
], $externalIdentifier1);
$helper->getKey([
'name' => 'Not existing project',
'organization_id' => $organization->getKey(),
], [
'color' => '#000000',
], $externalIdentifier2);
// Act
$externalKeys = $helper->getExternalIds();
// Assert
$this->assertCount(2, $externalKeys);
$this->assertContains($externalIdentifier1, $externalKeys);
$this->assertContains($externalIdentifier2, $externalKeys);
}
}