mirror of
https://github.com/flextype/flextype.git
synced 2025-08-10 15:14:20 +02:00
feat(fields): Add new field registry.get
for Registry API #494
This commit is contained in:
32
tests/Foundation/Entries/Fields/RegistryFieldTest.php
Normal file
32
tests/Foundation/Entries/Fields/RegistryFieldTest.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Flextype\Component\Filesystem\Filesystem;
|
||||
|
||||
beforeEach(function() {
|
||||
filesystem()->directory(PATH['project'] . '/entries')->create();
|
||||
});
|
||||
|
||||
afterEach(function (): void {
|
||||
filesystem()->directory(PATH['project'] . '/entries')->delete();
|
||||
});
|
||||
|
||||
test('test registry field', function () {
|
||||
flextype('entries')->create('registry-root', flextype('frontmatter')->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/registry-root/entry.md')->get()));
|
||||
flextype('entries')->create('registry-root/level-1', flextype('frontmatter')->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/registry-root/level-1/entry.md')->get()));
|
||||
flextype('entries')->create('registry-root/level-1/level-2', flextype('frontmatter')->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/registry-root/level-1/level-2/entry.md')->get()));
|
||||
|
||||
$data = flextype('entries')->fetchSingle('registry-root');
|
||||
|
||||
print_r($data);
|
||||
print_r($data->toJson());
|
||||
|
||||
$this->assertEquals('Flextype', $data['flextype']);
|
||||
$this->assertEquals('Sergey Romanenko', $data['author']['name']);
|
||||
$this->assertEquals('MIT', $data['license']);
|
||||
$this->assertEquals('Flextype', $data['level1']['flextype']);
|
||||
$this->assertEquals('Sergey Romanenko', $data['level1']['author']['name']);
|
||||
$this->assertEquals('MIT', $data['level1']['license']);
|
||||
$this->assertEquals('Flextype', $data['level1']['level2']['flextype']);
|
||||
$this->assertEquals('Sergey Romanenko', $data['level1']['level2']['author']['name']);
|
||||
$this->assertEquals('MIT', $data['level1']['level2']['license']);
|
||||
});
|
@@ -0,0 +1,16 @@
|
||||
---
|
||||
title: Root
|
||||
registry:
|
||||
get:
|
||||
flextype:
|
||||
key: flextype.manifest.name
|
||||
author.name:
|
||||
key: flextype.manifest.author.name
|
||||
license:
|
||||
key: flextype.manifest.license
|
||||
entries:
|
||||
fetchSingle:
|
||||
level1:
|
||||
id: registry-root/level-1
|
||||
result: toArray
|
||||
---
|
@@ -0,0 +1,16 @@
|
||||
---
|
||||
title: Level 1
|
||||
entries:
|
||||
fetchSingle:
|
||||
level2:
|
||||
id: registry-root/level-1/level-2
|
||||
result: toArray
|
||||
registry:
|
||||
get:
|
||||
flextype:
|
||||
key: flextype.manifest.name
|
||||
author.name:
|
||||
key: flextype.manifest.author.name
|
||||
license:
|
||||
key: flextype.manifest.license
|
||||
---
|
@@ -0,0 +1,11 @@
|
||||
---
|
||||
title: Level 2
|
||||
registry:
|
||||
get:
|
||||
flextype:
|
||||
key: flextype.manifest.name
|
||||
author.name:
|
||||
key: flextype.manifest.author.name
|
||||
license:
|
||||
key: flextype.manifest.license
|
||||
---
|
Reference in New Issue
Block a user