|
|
|
@@ -3,30 +3,30 @@
|
|
|
|
|
use Flextype\Component\Filesystem\Filesystem;
|
|
|
|
|
|
|
|
|
|
beforeEach(function() {
|
|
|
|
|
filesystem()->directory(PATH['project'] . '/entries')->create();
|
|
|
|
|
filesystem()->directory(PATH['project'] . '/content')->create();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
afterEach(function (): void {
|
|
|
|
|
filesystem()->directory(PATH['project'] . '/entries')->delete();
|
|
|
|
|
filesystem()->directory(PATH['project'] . '/content')->delete();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('test entries field for blog', function () {
|
|
|
|
|
flextype('content')->create('blog', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/blog/entry.md')->get()));
|
|
|
|
|
flextype('content')->create('blog/post-1', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/blog/post-1/entry.md')->get()));
|
|
|
|
|
flextype('content')->create('blog/post-2', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/blog/post-2/entry.md')->get()));
|
|
|
|
|
test('test content field for blog', function () {
|
|
|
|
|
flextype('content')->create('blog', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/blog/entry.yaml')->get()));
|
|
|
|
|
flextype('content')->create('blog/post-1', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/blog/post-1/entry.yaml')->get()));
|
|
|
|
|
flextype('content')->create('blog/post-2', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/blog/post-2/entry.yaml')->get()));
|
|
|
|
|
|
|
|
|
|
$blog = flextype('content')->fetch('blog');
|
|
|
|
|
|
|
|
|
|
$this->assertEquals(14, $blog->count());
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('test entries field for catalog', function () {
|
|
|
|
|
test('test content field for catalog', function () {
|
|
|
|
|
|
|
|
|
|
// Create catalog
|
|
|
|
|
flextype('content')->create('catalog', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/catalog/entry.md')->get()));
|
|
|
|
|
flextype('content')->create('catalog/bikes', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/catalog/bikes/entry.md')->get()));
|
|
|
|
|
flextype('content')->create('catalog/bikes/gt', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/catalog/bikes/gt/entry.md')->get()));
|
|
|
|
|
flextype('content')->create('catalog/bikes/norco', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/catalog/bikes/norco/entry.md')->get()));
|
|
|
|
|
flextype('content')->create('catalog', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/catalog/entry.yaml')->get()));
|
|
|
|
|
flextype('content')->create('catalog/bikes', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/catalog/bikes/entry.yaml')->get()));
|
|
|
|
|
flextype('content')->create('catalog/bikes/gt', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/catalog/bikes/gt/entry.yaml')->get()));
|
|
|
|
|
flextype('content')->create('catalog/bikes/norco', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/catalog/bikes/norco/entry.yaml')->get()));
|
|
|
|
|
flextype('content')->create('catalog/bikes/foo', ['title' => 'foo']);
|
|
|
|
|
flextype('content')->create('catalog/bikes/foo/bar', ['title' => 'bar']);
|
|
|
|
|
|
|
|
|
@@ -63,12 +63,12 @@ test('test entries field for catalog', function () {
|
|
|
|
|
$this->assertEquals('banner', $banner['id']);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('test entries field for albmus', function () {
|
|
|
|
|
flextype('content')->create('root', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/root/entry.md')->get()));
|
|
|
|
|
test('test content field for albmus', function () {
|
|
|
|
|
flextype('content')->create('root', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/root/entry.yaml')->get()));
|
|
|
|
|
|
|
|
|
|
flextype('content')->create('albums', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/root/albums/entry.md')->get()));
|
|
|
|
|
flextype('content')->create('albums/category-1', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/root/albums/category-1/entry.md')->get()));
|
|
|
|
|
flextype('content')->create('albums/category-1/album-1', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/root/albums/category-1/album-1/entry.md')->get()));
|
|
|
|
|
flextype('content')->create('albums', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/root/albums/entry.yaml')->get()));
|
|
|
|
|
flextype('content')->create('albums/category-1', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/root/albums/category-1/entry.yaml')->get()));
|
|
|
|
|
flextype('content')->create('albums/category-1/album-1', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/root/albums/category-1/album-1/entry.yaml')->get()));
|
|
|
|
|
|
|
|
|
|
flextype('content')->create('banners', ['title' => 'Banners']);
|
|
|
|
|
flextype('content')->create('banners/1', ['title' => 'Banner1']);
|
|
|
|
@@ -79,11 +79,11 @@ test('test entries field for albmus', function () {
|
|
|
|
|
$this->assertEquals(16, $root->count());
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('test entries field for long nested entries', function () {
|
|
|
|
|
flextype('content')->create('level1', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/level1/entry.md')->get()));
|
|
|
|
|
flextype('content')->create('level1/level2', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/level1/level2/entry.md')->get()));
|
|
|
|
|
flextype('content')->create('level1/level2/level3', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/level1/level2/level3/entry.md')->get()));
|
|
|
|
|
flextype('content')->create('level1/level2/level3/level4', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/level1/level2/level3/level4/entry.md')->get()));
|
|
|
|
|
test('test content field for long nested content', function () {
|
|
|
|
|
flextype('content')->create('level1', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/level1/entry.yaml')->get()));
|
|
|
|
|
flextype('content')->create('level1/level2', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/level1/level2/entry.yaml')->get()));
|
|
|
|
|
flextype('content')->create('level1/level2/level3', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/level1/level2/level3/entry.yaml')->get()));
|
|
|
|
|
flextype('content')->create('level1/level2/level3/level4', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/level1/level2/level3/level4/entry.yaml')->get()));
|
|
|
|
|
|
|
|
|
|
$level = flextype('content')->fetch('level1');
|
|
|
|
|
|
|
|
|
@@ -93,8 +93,8 @@ test('test entries field for long nested entries', function () {
|
|
|
|
|
$this->assertEquals('level1/level2/level3/level4', $level['root']['root']['root']['id']);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('test entries field for macroable fetch entries', function () {
|
|
|
|
|
flextype('content')->create('macroable', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/macroable/entry.md')->get()));
|
|
|
|
|
test('test content field for macroable fetch content', function () {
|
|
|
|
|
flextype('content')->create('macroable', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/macroable/entry.yaml')->get()));
|
|
|
|
|
|
|
|
|
|
flextype('content')::macro('fetchExtraData', function ($id, $options) {
|
|
|
|
|
return ['id' => $id, 'options' => $options];
|