From 035801432123c155ac5ce11c16352219f753c9a0 Mon Sep 17 00:00:00 2001 From: Awilum Date: Thu, 29 Jul 2021 19:53:07 +0300 Subject: [PATCH] feat(tests): fixing tests #199 --- tests/Foundation/Content/ContentTest.php | 177 ------------------ .../Content/Fields/ContentFieldTest.php | 107 ----------- .../Content/Fields/ParsersFieldTest.php | 19 -- .../Content/Fields/RoutableFieldTest.php | 27 --- tests/Foundation/Entries/EntriesTest.php | 163 ++++++++++++++++ .../Entries/Fields/ContentFieldTest.php | 107 +++++++++++ .../Fields/CreatedAtFieldTest.php | 4 +- .../Fields/CreatedByFieldTest.php | 8 +- .../Fields/IdFieldTest.php | 8 +- .../Fields/MediaFieldTest.php | 8 +- .../Fields/ModifiedAtFieldTest.php | 4 +- .../Entries/Fields/ParsersFieldTest.php | 19 ++ .../Fields/PublishedAtFieldTest.php | 4 +- .../Fields/PublishedByFieldTest.php | 8 +- .../Fields/RegistryFieldTest.php | 8 +- .../Entries/Fields/RoutableFieldTest.php | 27 +++ .../Fields/SlugFieldTest.php | 8 +- .../Fields/UuidFieldTest.php | 4 +- .../Fields/VisibilityFieldTest.php | 12 +- tests/Foundation/FlextypeTest.php | 6 +- .../Foundation/Helpers/FlextypHelperTest.php | 6 +- tests/Foundation/Media/MediaFilesMetaTest.php | 44 ----- tests/Foundation/Media/MediaFilesTest.php | 68 ------- .../Foundation/Media/MediaFoldersMetaTest.php | 18 -- tests/Foundation/Media/MediaFoldersTest.php | 54 ------ tests/Pest.php | 4 +- tests/Support/Helpers/FindHelperTest.php | 2 +- tests/Support/Parsers/ShortcodeTest.php | 26 +-- .../Shortcodes/EntriesShortcodeTest.php | 6 +- .../Parsers/Shortcodes/MediaShortcodeTest.php | 8 +- .../Parsers/Shortcodes/RawShortcodeTest.php | 4 +- .../Shortcodes/RegistryShortcodeTest.php | 4 +- .../Parsers/Shortcodes/UrlShortcodeTest.php | 6 +- tests/Support/Serializers/FrontmatterTest.php | 25 --- tests/Support/Serializers/JsonTest.php | 16 +- tests/Support/Serializers/YamlTest.php | 16 +- .../entries}/blog/entry.yaml | 0 .../entries}/blog/post-1/entry.yaml | 0 .../entries}/blog/post-2/entry.yaml | 0 .../entries}/catalog/bikes/entry.yaml | 0 .../entries}/catalog/bikes/gt/entry.yaml | 0 .../entries}/catalog/bikes/norco/entry.yaml | 0 .../entries}/catalog/entry.yaml | 0 .../entries}/level1/entry.yaml | 0 .../entries}/level1/level2/entry.yaml | 0 .../entries}/level1/level2/level3/entry.yaml | 0 .../level1/level2/level3/level4/entry.yaml | 0 .../entries}/macroable/entry.yaml | 0 .../entries}/media/entry.yaml | 0 .../entries}/registry-root/entry.yaml | 0 .../entries}/registry-root/level-1/entry.yaml | 0 .../registry-root/level-1/level-2/entry.yaml | 0 .../root/albums/category-1/album-1/entry.yaml | 0 .../root/albums/category-1/entry.yaml | 0 .../entries}/root/albums/entry.yaml | 0 .../entries}/root/entry.yaml | 0 56 files changed, 406 insertions(+), 629 deletions(-) delete mode 100644 tests/Foundation/Content/ContentTest.php delete mode 100644 tests/Foundation/Content/Fields/ContentFieldTest.php delete mode 100644 tests/Foundation/Content/Fields/ParsersFieldTest.php delete mode 100644 tests/Foundation/Content/Fields/RoutableFieldTest.php create mode 100644 tests/Foundation/Entries/EntriesTest.php create mode 100644 tests/Foundation/Entries/Fields/ContentFieldTest.php rename tests/Foundation/{Content => Entries}/Fields/CreatedAtFieldTest.php (81%) rename tests/Foundation/{Content => Entries}/Fields/CreatedByFieldTest.php (61%) rename tests/Foundation/{Content => Entries}/Fields/IdFieldTest.php (65%) rename tests/Foundation/{Content => Entries}/Fields/MediaFieldTest.php (74%) rename tests/Foundation/{Content => Entries}/Fields/ModifiedAtFieldTest.php (80%) create mode 100644 tests/Foundation/Entries/Fields/ParsersFieldTest.php rename tests/Foundation/{Content => Entries}/Fields/PublishedAtFieldTest.php (80%) rename tests/Foundation/{Content => Entries}/Fields/PublishedByFieldTest.php (61%) rename tests/Foundation/{Content => Entries}/Fields/RegistryFieldTest.php (55%) create mode 100644 tests/Foundation/Entries/Fields/RoutableFieldTest.php rename tests/Foundation/{Content => Entries}/Fields/SlugFieldTest.php (65%) rename tests/Foundation/{Content => Entries}/Fields/UuidFieldTest.php (79%) rename tests/Foundation/{Content => Entries}/Fields/VisibilityFieldTest.php (54%) delete mode 100644 tests/Foundation/Media/MediaFilesMetaTest.php delete mode 100644 tests/Foundation/Media/MediaFilesTest.php delete mode 100644 tests/Foundation/Media/MediaFoldersMetaTest.php delete mode 100644 tests/Foundation/Media/MediaFoldersTest.php delete mode 100644 tests/Support/Serializers/FrontmatterTest.php rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/blog/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/blog/post-1/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/blog/post-2/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/catalog/bikes/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/catalog/bikes/gt/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/catalog/bikes/norco/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/catalog/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/level1/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/level1/level2/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/level1/level2/level3/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/level1/level2/level3/level4/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/macroable/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/media/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/registry-root/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/registry-root/level-1/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/registry-root/level-1/level-2/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/root/albums/category-1/album-1/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/root/albums/category-1/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/root/albums/entry.yaml (100%) rename tests/{Foundation/Content/Fields/fixtures/content => fixtures/entries}/root/entry.yaml (100%) diff --git a/tests/Foundation/Content/ContentTest.php b/tests/Foundation/Content/ContentTest.php deleted file mode 100644 index bd0dc3b7a3..0000000000 --- a/tests/Foundation/Content/ContentTest.php +++ /dev/null @@ -1,177 +0,0 @@ -directory(PATH['project'] . '/entries')->create(0755, true); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries')->delete(); -}); - -test('test create() method', function () { - $this->assertTrue(flextype('entries')->create('foo', [])); - $this->assertFalse(flextype('entries')->create('foo', [])); -}); - -test('test has()', function () { - flextype('entries')->create('foo', []); - - $this->assertTrue(flextype('entries')->has('foo')); - $this->assertFalse(flextype('entries')->has('bar')); -}); - -test('test update() method', function () { - flextype('entries')->create('foo', []); - - $this->assertTrue(flextype('entries')->update('foo', ['title' => 'Test'])); - $this->assertFalse(flextype('entries')->update('bar', ['title' => 'Test'])); -}); - -test('test fetch() entry', function () { - flextype('entries')->create('foo', ['title' => 'Foo']); - flextype('entries')->create('foo/bar', ['title' => 'Bar']); - flextype('entries')->create('foo/baz', ['title' => 'Baz']); - flextype('entries')->create('foo/zed', ['title' => 'Zed']); - - $this->assertEquals(12, flextype('entries')->fetch('foo')->count()); - $this->assertEquals('foo', flextype('entries')->fetch('foo')['id']); - $this->assertEquals(12, flextype('entries')->fetch('foo', [])->count()); - $this->assertEquals('foo', flextype('entries')->fetch('foo')['id']); - $this->assertEquals(3, flextype('entries')->fetch('foo', ['collection' => true])->count()); - - $this->assertEquals('Bar', flextype('entries')->fetch('foo/bar')['title']); - $this->assertEquals('Baz', flextype('entries')->fetch('foo/baz')['title']); - $this->assertEquals('Zed', flextype('entries')->fetch('foo/zed')['title']); - - flextype('entries')->storage()->set('fetch.id', 'wrong-entry'); - $this->assertEquals(0, flextype('entries')->fetch('wrong-entry')->count()); - flextype('entries')->storage()->set('fetch.id', 'wrong-entry'); - $this->assertEquals(0, flextype('entries')->fetch('wrong-entry')->count()); - - $this->assertTrue(count(flextype('entries')->fetch('foo', ['collection' => true])) > 0); - -/* - flextype('emitter')->addListener('onEntriesFetchCollectionHasResult', static function (): void { - flextype('entries')->storage()->set('fetch_collection.data.foo/zed.title', 'ZedFromCollection!'); - }); - - flextype('emitter')->addListener('onEntriesFetchCollectionHasResult', static function (): void { - flextype('entries')->storage()->set('fetch_collection.data.foo/baz.title', 'BazFromCollection!'); - }); - - $this->assertEquals('ZedFromCollection!', flextype('entries')->fetch('foo', ['collection' => true])['foo/zed.title']); - $this->assertEquals('BazFromCollection!', flextype('entries')->fetch('foo', ['collection' => true])['foo/baz.title']); -*/ - -}); - -test('test copy() method', function () { - flextype('entries')->create('foo', []); - flextype('entries')->create('foo/bar', []); - flextype('entries')->create('foo/baz', []); - - flextype('entries')->create('zed', []); - flextype('entries')->copy('foo', 'zed'); - - $this->assertTrue(flextype('entries')->has('zed')); -}); - -test('test delete() method', function () { - flextype('entries')->create('foo', []); - flextype('entries')->create('foo/bar', []); - flextype('entries')->create('foo/baz', []); - - $this->assertTrue(flextype('entries')->delete('foo')); - $this->assertFalse(flextype('entries')->has('foo')); -}); - -test('test move() method', function () { - flextype('entries')->create('foo', []); - flextype('entries')->create('zed', []); - - $this->assertTrue(flextype('entries')->move('foo', 'bar')); - $this->assertTrue(flextype('entries')->has('bar')); - $this->assertFalse(flextype('entries')->has('foo')); - $this->assertFalse(flextype('entries')->move('zed', 'bar')); -}); - -test('test getFileLocation() method', function () { - flextype('entries')->create('foo', []); - - $this->assertStringContainsString('/foo/entry.md', - flextype('entries')->getFileLocation('foo')); -}); - -test('test getDirectoryLocation() entry', function () { - flextype('entries')->create('foo', []); - - $this->assertStringContainsString('/foo', - flextype('entries')->getDirectoryLocation('foo')); -}); - -test('test getCacheID() entry', function () { - flextype('registry')->set('flextype.settings.cache.enabled', false); - flextype('entries')->create('foo', []); - $this->assertEquals('', flextype('entries')->getCacheID('foo')); - - flextype('registry')->set('flextype.settings.cache.enabled', true); - flextype('entries')->create('bar', []); - $cache_id = flextype('entries')->getCacheID('bar'); - $this->assertEquals(32, strlen($cache_id)); - flextype('registry')->set('flextype.settings.cache.enabled', false); -}); - -test('test storage() entry', function () { - flextype('entries')->storage()->set('foo', ['title' => 'Foo']); - $this->assertEquals('Foo', flextype('entries')->storage()->get('foo')['title']); - flextype('entries')->storage()->set('bar', ['title' => 'Bar']); - $this->assertEquals(true, flextype('entries')->storage()->has('foo.title')); - $this->assertEquals(true, flextype('entries')->storage()->has('bar.title')); - flextype('entries')->storage()->delete('foo.title'); - flextype('entries')->storage()->delete('bar.title'); - $this->assertEquals(false, flextype('entries')->storage()->has('foo.title')); - $this->assertEquals(false, flextype('entries')->storage()->has('bar.title')); -}); - -test('test macro() entry', function () { - flextype('entries')->create('foo', []); - flextype('entries')->create('foo/bar', []); - flextype('entries')->create('foo/baz', []); - - flextype('entries')::macro('fetchRecentPosts', function($limit = 1) { - return flextype('entries') - ->fetch('foo') - ->sortBy('published_at') - ->limit($limit); - }); - - $this->assertEquals(1, flextype('entries')->fetchRecentPosts()->count()); - $this->assertEquals(1, flextype('entries')->fetchRecentPosts(1)->count()); - $this->assertEquals(2, flextype('entries')->fetchRecentPosts(2)->count()); -}); - -test('test mixin() entry', function () { - flextype('entries')->create('foo', []); - flextype('entries')->create('foo/bar', []); - flextype('entries')->create('foo/baz', []); - - class FooMixin { - public function foo() { - return function () { - return 'Foo'; - }; - } - - public function bar() { - return function ($val = 'Foo') { - return $val; - }; - } - } - - flextype('entries')::mixin(new FooMixin()); - - $this->assertEquals('Foo', flextype('entries')->foo()); - $this->assertEquals('Foo', flextype('entries')->bar()); - $this->assertEquals('Bar', flextype('entries')->bar('Bar')); -}); diff --git a/tests/Foundation/Content/Fields/ContentFieldTest.php b/tests/Foundation/Content/Fields/ContentFieldTest.php deleted file mode 100644 index 4403360101..0000000000 --- a/tests/Foundation/Content/Fields/ContentFieldTest.php +++ /dev/null @@ -1,107 +0,0 @@ -directory(PATH['project'] . '/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/content')->delete(); -}); - -test('test content field for blog', function () { - flextype('entries')->create('blog', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/blog/entry.yaml')->get())); - flextype('entries')->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('entries')->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('entries')->fetch('blog'); - - $this->assertEquals(14, $blog->count()); -}); - -test('test content field for catalog', function () { - - // Create catalog - flextype('entries')->create('catalog', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/catalog/entry.yaml')->get())); - flextype('entries')->create('catalog/bikes', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/catalog/bikes/entry.yaml')->get())); - flextype('entries')->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('entries')->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('entries')->create('catalog/bikes/foo', ['title' => 'foo']); - flextype('entries')->create('catalog/bikes/foo/bar', ['title' => 'bar']); - - // Create discounts - flextype('entries')->create('discounts', ['title' => 'Discounts']); - flextype('entries')->create('discounts/30-off', ['title' => '30% off', 'category' => 'bikes']); - flextype('entries')->create('discounts/50-off', ['title' => '50% off', 'category' => 'bikes']); - - // Create banner - flextype('entries')->create('banner', ['title' => 'Banner']); - - $catalogSingle = flextype('entries')->fetch('catalog'); - - $this->assertEquals(16, $catalogSingle->count()); - $this->assertEquals('Catalog', $catalogSingle['title']); - $this->assertEquals('catalog', $catalogSingle['id']); - $this->assertEquals(1, $catalogSingle['bikes']->count()); - $this->assertTrue(isset($catalogSingle['bikes']['catalog/bikes/gt'])); - $this->assertEquals('GT', $catalogSingle['bikes']['catalog/bikes/gt']['title']); - $this->assertEquals(1, $catalogSingle['discounts']->count()); - $this->assertTrue(isset($catalogSingle['discounts']['discounts/30-off'])); - $this->assertEquals('30% off', $catalogSingle['discounts']['discounts/30-off']['title']); - - $catalogCollection = flextype('entries')->fetch('catalog', ['collection' => true]); - $this->assertEquals(1, $catalogCollection->count()); - $this->assertEquals('Bikes', $catalogCollection['catalog/bikes']['title']); - $this->assertEquals('catalog/bikes', $catalogCollection['catalog/bikes']['id']); - - $catalogLongCollecion = flextype('entries')->fetch('catalog', ['collection' => true, 'find' => ['depth' => ['>0', '<4']]]); - $this->assertEquals(5, $catalogLongCollecion->count()); - - $banner = flextype('entries')->fetch('banner'); - $this->assertEquals('Banner', $banner['title']); - $this->assertEquals('banner', $banner['id']); -}); - -test('test content field for albmus', function () { - flextype('entries')->create('root', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/root/entry.yaml')->get())); - - flextype('entries')->create('albums', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/root/albums/entry.yaml')->get())); - flextype('entries')->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('entries')->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('entries')->create('banners', ['title' => 'Banners']); - flextype('entries')->create('banners/1', ['title' => 'Banner1']); - flextype('entries')->create('banners/2', ['title' => 'Banner2']); - - $root = flextype('entries')->fetch('root'); - - $this->assertEquals(16, $root->count()); -}); - -test('test content field for long nested content', function () { - flextype('entries')->create('level1', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/level1/entry.yaml')->get())); - flextype('entries')->create('level1/level2', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/level1/level2/entry.yaml')->get())); - flextype('entries')->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('entries')->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('entries')->fetch('level1'); - - $this->assertEquals(14, $level->count()); - $this->assertEquals('level1/level2', $level['root']['id']); - $this->assertEquals('level1/level2/level3', $level['root']['root']['id']); - $this->assertEquals('level1/level2/level3/level4', $level['root']['root']['root']['id']); -}); - -test('test content field for macroable fetch content', function () { - flextype('entries')->create('macroable', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/content/macroable/entry.yaml')->get())); - - flextype('entries')::macro('fetchExtraData', function ($id, $options) { - return ['id' => $id, 'options' => $options]; - }); - - $macroable = flextype('entries')->fetch('macroable'); - - $this->assertEquals('table', $macroable['table']['id']); - $this->assertEquals('world', $macroable['table']['options']['hello']); -}); diff --git a/tests/Foundation/Content/Fields/ParsersFieldTest.php b/tests/Foundation/Content/Fields/ParsersFieldTest.php deleted file mode 100644 index d8d44702d8..0000000000 --- a/tests/Foundation/Content/Fields/ParsersFieldTest.php +++ /dev/null @@ -1,19 +0,0 @@ -directory(PATH['project'] . '/entries')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries')->delete(); -}); - -test('test ParsersField', function () { - flextype('entries')->create('foo', ['content' => '# Foo', 'parsers' => ['markdown' => ['enabled' => true, 'fields' => ['content']]]]); - $this->assertEquals(trim('

Foo

'), trim(flextype('entries')->fetch('foo')['content'])); - - flextype('entries')->create('bar', ['content' => '[registry_get name="Bar" default="Zed"]', 'parsers' => ['shortcode' => ['enabled' => true, 'fields' => ['content']]]]); - $this->assertEquals('Zed', flextype('entries')->fetch('bar')['content']); -}); diff --git a/tests/Foundation/Content/Fields/RoutableFieldTest.php b/tests/Foundation/Content/Fields/RoutableFieldTest.php deleted file mode 100644 index cf89a370c0..0000000000 --- a/tests/Foundation/Content/Fields/RoutableFieldTest.php +++ /dev/null @@ -1,27 +0,0 @@ -directory(PATH['project'] . '/entries')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries')->delete(); -}); - -test('test RoutableField', function () { - flextype('registry')->set('flextype.settings.cache.enabled', false); - - flextype('entries')->create('foo', ['routable' => true]); - $routable = flextype('entries')->fetch('foo')['routable']; - $this->assertTrue($routable); - - flextype('entries')->create('bar', []); - $routable = flextype('entries')->fetch('bar')['routable']; - $this->assertTrue($routable); - - flextype('entries')->create('zed', ['routable' => false]); - $routable = flextype('entries')->fetch('zed')['routable']; - $this->assertFalse($routable); -}); diff --git a/tests/Foundation/Entries/EntriesTest.php b/tests/Foundation/Entries/EntriesTest.php new file mode 100644 index 0000000000..c30910636a --- /dev/null +++ b/tests/Foundation/Entries/EntriesTest.php @@ -0,0 +1,163 @@ +directory(PATH['project'] . '/entries')->create(0755, true); +}); + +afterEach(function (): void { + filesystem()->directory(PATH['project'] . '/entries')->delete(); +}); + +test('test create() method', function () { + $this->assertTrue(entries()->create('foo', [])); + $this->assertFalse(entries()->create('foo', [])); +}); + +test('test has()', function () { + entries()->create('foo', []); + + $this->assertTrue(entries()->has('foo')); + $this->assertFalse(entries()->has('bar')); +}); + +test('test update() method', function () { + entries()->create('foo', []); + + $this->assertTrue(entries()->update('foo', ['title' => 'Test'])); + $this->assertFalse(entries()->update('bar', ['title' => 'Test'])); +}); + +test('test fetch() entry', function () { + entries()->create('foo', ['title' => 'Foo']); + entries()->create('foo/bar', ['title' => 'Bar']); + entries()->create('foo/baz', ['title' => 'Baz']); + entries()->create('foo/zed', ['title' => 'Zed']); + + $this->assertEquals(12, entries()->fetch('foo')->count()); + $this->assertEquals('foo', entries()->fetch('foo')['id']); + $this->assertEquals(12, entries()->fetch('foo', [])->count()); + $this->assertEquals('foo', entries()->fetch('foo')['id']); + $this->assertEquals(3, entries()->fetch('foo', ['collection' => true])->count()); + + $this->assertEquals('Bar', entries()->fetch('foo/bar')['title']); + $this->assertEquals('Baz', entries()->fetch('foo/baz')['title']); + $this->assertEquals('Zed', entries()->fetch('foo/zed')['title']); + + entries()->storage()->set('fetch.id', 'wrong-entry'); + $this->assertEquals(0, entries()->fetch('wrong-entry')->count()); + entries()->storage()->set('fetch.id', 'wrong-entry'); + $this->assertEquals(0, entries()->fetch('wrong-entry')->count()); + + $this->assertTrue(count(entries()->fetch('foo', ['collection' => true])) > 0); +}); + +test('test copy() method', function () { + entries()->create('foo', []); + entries()->create('foo/bar', []); + entries()->create('foo/baz', []); + + entries()->create('zed', []); + entries()->copy('foo', 'zed'); + + $this->assertTrue(entries()->has('zed')); +}); + +test('test delete() method', function () { + entries()->create('foo', []); + entries()->create('foo/bar', []); + entries()->create('foo/baz', []); + + $this->assertTrue(entries()->delete('foo')); + $this->assertFalse(entries()->has('foo')); +}); + +test('test move() method', function () { + entries()->create('foo', []); + entries()->create('zed', []); + + $this->assertTrue(entries()->move('foo', 'bar')); + $this->assertTrue(entries()->has('bar')); + $this->assertFalse(entries()->has('foo')); + $this->assertFalse(entries()->move('zed', 'bar')); +}); + +test('test getFileLocation() method', function () { + entries()->create('foo', []); + + $this->assertStringContainsString('/foo/entry.yaml', + entries()->getFileLocation('foo')); +}); + +test('test getDirectoryLocation() entry', function () { + entries()->create('foo', []); + + $this->assertStringContainsString('/foo', + entries()->getDirectoryLocation('foo')); +}); + +test('test getCacheID() entry', function () { + registry()->set('flextype.settings.cache.enabled', false); + entries()->create('foo', []); + $this->assertEquals('', entries()->getCacheID('foo')); + + registry()->set('flextype.settings.cache.enabled', true); + entries()->create('bar', []); + $cache_id = entries()->getCacheID('bar'); + $this->assertEquals(32, strlen($cache_id)); + registry()->set('flextype.settings.cache.enabled', false); +}); + +test('test storage() entry', function () { + entries()->storage()->set('foo', ['title' => 'Foo']); + $this->assertEquals('Foo', entries()->storage()->get('foo')['title']); + entries()->storage()->set('bar', ['title' => 'Bar']); + $this->assertEquals(true, entries()->storage()->has('foo.title')); + $this->assertEquals(true, entries()->storage()->has('bar.title')); + entries()->storage()->delete('foo.title'); + entries()->storage()->delete('bar.title'); + $this->assertEquals(false, entries()->storage()->has('foo.title')); + $this->assertEquals(false, entries()->storage()->has('bar.title')); +}); + +test('test macro() entry', function () { + entries()->create('foo', []); + entries()->create('foo/bar', []); + entries()->create('foo/baz', []); + + entries()::macro('fetchRecentPosts', function($limit = 1) { + return entries() + ->fetch('foo') + ->sortBy('published_at') + ->limit($limit); + }); + + $this->assertEquals(1, entries()->fetchRecentPosts()->count()); + $this->assertEquals(1, entries()->fetchRecentPosts(1)->count()); + $this->assertEquals(2, entries()->fetchRecentPosts(2)->count()); +}); + +test('test mixin() entry', function () { + entries()->create('foo', []); + entries()->create('foo/bar', []); + entries()->create('foo/baz', []); + + class FooMixin { + public function foo() { + return function () { + return 'Foo'; + }; + } + + public function bar() { + return function ($val = 'Foo') { + return $val; + }; + } + } + + entries()::mixin(new FooMixin()); + + $this->assertEquals('Foo', entries()->foo()); + $this->assertEquals('Foo', entries()->bar()); + $this->assertEquals('Bar', entries()->bar('Bar')); +}); diff --git a/tests/Foundation/Entries/Fields/ContentFieldTest.php b/tests/Foundation/Entries/Fields/ContentFieldTest.php new file mode 100644 index 0000000000..71a28bb724 --- /dev/null +++ b/tests/Foundation/Entries/Fields/ContentFieldTest.php @@ -0,0 +1,107 @@ +directory(PATH['project'] . '/entries')->create(); +}); + +afterEach(function (): void { + filesystem()->directory(PATH['project'] . '/entries')->delete(); +}); + +test('test entries field for blog', function () { + entries()->create('blog', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/blog/entry.yaml')->get())); + entries()->create('blog/post-1', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/blog/post-1/entry.yaml')->get())); + entries()->create('blog/post-2', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/blog/post-2/entry.yaml')->get())); + + $blog = entries()->fetch('blog'); + + $this->assertEquals(14, $blog->count()); +}); + +test('test entries field for catalog', function () { + + // Create catalog + entries()->create('catalog', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/catalog/entry.yaml')->get())); + entries()->create('catalog/bikes', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/catalog/bikes/entry.yaml')->get())); + entries()->create('catalog/bikes/gt', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/catalog/bikes/gt/entry.yaml')->get())); + entries()->create('catalog/bikes/norco', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/catalog/bikes/norco/entry.yaml')->get())); + entries()->create('catalog/bikes/foo', ['title' => 'foo']); + entries()->create('catalog/bikes/foo/bar', ['title' => 'bar']); + + // Create discounts + entries()->create('discounts', ['title' => 'Discounts']); + entries()->create('discounts/30-off', ['title' => '30% off', 'category' => 'bikes']); + entries()->create('discounts/50-off', ['title' => '50% off', 'category' => 'bikes']); + + // Create banner + entries()->create('banner', ['title' => 'Banner']); + + $catalogSingle = entries()->fetch('catalog'); + + $this->assertEquals(16, $catalogSingle->count()); + $this->assertEquals('Catalog', $catalogSingle['title']); + $this->assertEquals('catalog', $catalogSingle['id']); + $this->assertEquals(1, $catalogSingle['bikes']->count()); + $this->assertTrue(isset($catalogSingle['bikes']['catalog/bikes/gt'])); + $this->assertEquals('GT', $catalogSingle['bikes']['catalog/bikes/gt']['title']); + $this->assertEquals(1, $catalogSingle['discounts']->count()); + $this->assertTrue(isset($catalogSingle['discounts']['discounts/30-off'])); + $this->assertEquals('30% off', $catalogSingle['discounts']['discounts/30-off']['title']); + + $catalogCollection = entries()->fetch('catalog', ['collection' => true]); + $this->assertEquals(1, $catalogCollection->count()); + $this->assertEquals('Bikes', $catalogCollection['catalog/bikes']['title']); + $this->assertEquals('catalog/bikes', $catalogCollection['catalog/bikes']['id']); + + $catalogLongCollecion = entries()->fetch('catalog', ['collection' => true, 'find' => ['depth' => ['>0', '<4']]]); + $this->assertEquals(5, $catalogLongCollecion->count()); + + $banner = entries()->fetch('banner'); + $this->assertEquals('Banner', $banner['title']); + $this->assertEquals('banner', $banner['id']); +}); + +test('test entries field for albmus', function () { + entries()->create('root', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/root/entry.yaml')->get())); + + entries()->create('albums', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/root/albums/entry.yaml')->get())); + entries()->create('albums/category-1', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/root/albums/category-1/entry.yaml')->get())); + entries()->create('albums/category-1/album-1', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/root/albums/category-1/album-1/entry.yaml')->get())); + + entries()->create('banners', ['title' => 'Banners']); + entries()->create('banners/1', ['title' => 'Banner1']); + entries()->create('banners/2', ['title' => 'Banner2']); + + $root = entries()->fetch('root'); + + $this->assertEquals(16, $root->count()); +}); + +test('test entries field for long nested entries', function () { + entries()->create('level1', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/level1/entry.yaml')->get())); + entries()->create('level1/level2', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/level1/level2/entry.yaml')->get())); + entries()->create('level1/level2/level3', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/level1/level2/level3/entry.yaml')->get())); + entries()->create('level1/level2/level3/level4', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/level1/level2/level3/level4/entry.yaml')->get())); + + $level = entries()->fetch('level1'); + + $this->assertEquals(14, $level->count()); + $this->assertEquals('level1/level2', $level['root']['id']); + $this->assertEquals('level1/level2/level3', $level['root']['root']['id']); + $this->assertEquals('level1/level2/level3/level4', $level['root']['root']['root']['id']); +}); + +test('test entries field for macroable fetch entries', function () { + entries()->create('macroable', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/macroable/entry.yaml')->get())); + + entries()::macro('fetchExtraData', function ($id, $options) { + return ['id' => $id, 'options' => $options]; + }); + + $macroable = entries()->fetch('macroable'); + + $this->assertEquals('table', $macroable['table']['id']); + $this->assertEquals('world', $macroable['table']['options']['hello']); +}); diff --git a/tests/Foundation/Content/Fields/CreatedAtFieldTest.php b/tests/Foundation/Entries/Fields/CreatedAtFieldTest.php similarity index 81% rename from tests/Foundation/Content/Fields/CreatedAtFieldTest.php rename to tests/Foundation/Entries/Fields/CreatedAtFieldTest.php index b9fc101e1b..ad9c1bca38 100644 --- a/tests/Foundation/Content/Fields/CreatedAtFieldTest.php +++ b/tests/Foundation/Entries/Fields/CreatedAtFieldTest.php @@ -12,8 +12,8 @@ test('test CreatedAtField', function () { // 1 - flextype('entries')->create('foo', []); - $created_at = flextype('entries')->fetch('foo')['created_at']; + entries()->create('foo', []); + $created_at = entries()->fetch('foo')['created_at']; $this->assertTrue(strlen($created_at) > 0); $this->assertTrue((ctype_digit($created_at) && strtotime(date('Y-m-d H:i:s', $created_at)) === (int)$created_at)); }); diff --git a/tests/Foundation/Content/Fields/CreatedByFieldTest.php b/tests/Foundation/Entries/Fields/CreatedByFieldTest.php similarity index 61% rename from tests/Foundation/Content/Fields/CreatedByFieldTest.php rename to tests/Foundation/Entries/Fields/CreatedByFieldTest.php index c97aa8c9c1..e5e3fce2af 100644 --- a/tests/Foundation/Content/Fields/CreatedByFieldTest.php +++ b/tests/Foundation/Entries/Fields/CreatedByFieldTest.php @@ -11,11 +11,11 @@ }); test('test CreatedByField', function () { - flextype('entries')->create('foo', []); - $created_by = flextype('entries')->fetch('foo')['created_by']; + entries()->create('foo', []); + $created_by = entries()->fetch('foo')['created_by']; $this->assertEquals('', $created_by); - flextype('entries')->create('bar', ['created_by' => 'Zed']); - $created_by = flextype('entries')->fetch('bar')['created_by']; + entries()->create('bar', ['created_by' => 'Zed']); + $created_by = entries()->fetch('bar')['created_by']; $this->assertEquals('Zed', $created_by); }); diff --git a/tests/Foundation/Content/Fields/IdFieldTest.php b/tests/Foundation/Entries/Fields/IdFieldTest.php similarity index 65% rename from tests/Foundation/Content/Fields/IdFieldTest.php rename to tests/Foundation/Entries/Fields/IdFieldTest.php index 129ff73c96..aa6e45063f 100644 --- a/tests/Foundation/Content/Fields/IdFieldTest.php +++ b/tests/Foundation/Entries/Fields/IdFieldTest.php @@ -11,11 +11,11 @@ }); test('test IdField', function () { - flextype('entries')->create('foo', []); - $id = flextype('entries')->fetch('foo')['id']; + entries()->create('foo', []); + $id = entries()->fetch('foo')['id']; $this->assertEquals('foo', $id); - flextype('entries')->create('foo/bar', []); - $id = flextype('entries')->fetch('foo/bar')['id']; + entries()->create('foo/bar', []); + $id = entries()->fetch('foo/bar')['id']; $this->assertEquals('foo/bar', $id); }); diff --git a/tests/Foundation/Content/Fields/MediaFieldTest.php b/tests/Foundation/Entries/Fields/MediaFieldTest.php similarity index 74% rename from tests/Foundation/Content/Fields/MediaFieldTest.php rename to tests/Foundation/Entries/Fields/MediaFieldTest.php index 33e9af4cc7..6bc3758cb1 100644 --- a/tests/Foundation/Content/Fields/MediaFieldTest.php +++ b/tests/Foundation/Entries/Fields/MediaFieldTest.php @@ -19,11 +19,11 @@ test('test media.files field', function () { filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); + filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(serializers()->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); filesystem()->file(PATH['project'] . '/media/bar.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/bar.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Bar', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); + filesystem()->file(PATH['project'] . '/media/.meta/bar.txt.yaml')->put(serializers()->yaml()->encode(['title' => 'Bar', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); - flextype('entries')->create('media', flextype('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/media/entry.md')->get())); + entries()->create('media', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/media/entry.yaml')->get())); flextype('media')->files()::macro('fetchExtraData', function ($id, $options) { return ['id' => $id, 'options' => $options]; @@ -33,7 +33,7 @@ return ['id' => $id, 'options' => $options]; }); - $media = flextype('entries')->fetch('media'); + $media = entries()->fetch('media'); $this->assertEquals('Media', $media['title']); $this->assertEquals('foo', $media['macroable_file']['id']); diff --git a/tests/Foundation/Content/Fields/ModifiedAtFieldTest.php b/tests/Foundation/Entries/Fields/ModifiedAtFieldTest.php similarity index 80% rename from tests/Foundation/Content/Fields/ModifiedAtFieldTest.php rename to tests/Foundation/Entries/Fields/ModifiedAtFieldTest.php index 549b60af83..db24f64139 100644 --- a/tests/Foundation/Content/Fields/ModifiedAtFieldTest.php +++ b/tests/Foundation/Entries/Fields/ModifiedAtFieldTest.php @@ -11,9 +11,9 @@ }); test('test ModifiedAtField', function () { - flextype('entries')->create('foo', []); + entries()->create('foo', []); - $modified_at = flextype('entries')->fetch('foo')['modified_at']; + $modified_at = entries()->fetch('foo')['modified_at']; $this->assertTrue(strlen($modified_at) > 0); $this->assertTrue((ctype_digit($modified_at) && strtotime(date('Y-m-d H:i:s', $modified_at)) === (int)$modified_at)); diff --git a/tests/Foundation/Entries/Fields/ParsersFieldTest.php b/tests/Foundation/Entries/Fields/ParsersFieldTest.php new file mode 100644 index 0000000000..5fba4f43a2 --- /dev/null +++ b/tests/Foundation/Entries/Fields/ParsersFieldTest.php @@ -0,0 +1,19 @@ +directory(PATH['project'] . '/entries')->create(); +}); + +afterEach(function (): void { + filesystem()->directory(PATH['project'] . '/entries')->delete(); +}); + +test('test ParsersField', function () { + entries()->create('foo', ['entries' => '# Foo', 'parsers' => ['markdown' => ['enabled' => true, 'fields' => ['entries']]]]); + $this->assertEquals(trim('

Foo

'), trim(entries()->fetch('foo')['entries'])); + + entries()->create('bar', ['entries' => '[registry_get name="Bar" default="Zed"]', 'parsers' => ['shortcode' => ['enabled' => true, 'fields' => ['entries']]]]); + $this->assertEquals('Zed', entries()->fetch('bar')['entries']); +}); diff --git a/tests/Foundation/Content/Fields/PublishedAtFieldTest.php b/tests/Foundation/Entries/Fields/PublishedAtFieldTest.php similarity index 80% rename from tests/Foundation/Content/Fields/PublishedAtFieldTest.php rename to tests/Foundation/Entries/Fields/PublishedAtFieldTest.php index 7d793980cd..61c831f624 100644 --- a/tests/Foundation/Content/Fields/PublishedAtFieldTest.php +++ b/tests/Foundation/Entries/Fields/PublishedAtFieldTest.php @@ -11,9 +11,9 @@ }); test('test PublishedAtField', function () { - flextype('entries')->create('foo', []); + entries()->create('foo', []); - $published_at = flextype('entries')->fetch('foo')['published_at']; + $published_at = entries()->fetch('foo')['published_at']; $this->assertTrue(strlen($published_at) > 0); $this->assertTrue((ctype_digit($published_at) && strtotime(date('Y-m-d H:i:s', $published_at)) === (int)$published_at)); diff --git a/tests/Foundation/Content/Fields/PublishedByFieldTest.php b/tests/Foundation/Entries/Fields/PublishedByFieldTest.php similarity index 61% rename from tests/Foundation/Content/Fields/PublishedByFieldTest.php rename to tests/Foundation/Entries/Fields/PublishedByFieldTest.php index abd77bc731..dee5f16c61 100644 --- a/tests/Foundation/Content/Fields/PublishedByFieldTest.php +++ b/tests/Foundation/Entries/Fields/PublishedByFieldTest.php @@ -11,11 +11,11 @@ }); test('test PublishedByField', function () { - flextype('entries')->create('foo', []); - $published_by = flextype('entries')->fetch('foo')['published_by']; + entries()->create('foo', []); + $published_by = entries()->fetch('foo')['published_by']; $this->assertEquals('', $published_by); - flextype('entries')->create('bar', ['published_by' => 'Zed']); - $published_by = flextype('entries')->fetch('bar')['published_by']; + entries()->create('bar', ['published_by' => 'Zed']); + $published_by = entries()->fetch('bar')['published_by']; $this->assertEquals('Zed', $published_by); }); diff --git a/tests/Foundation/Content/Fields/RegistryFieldTest.php b/tests/Foundation/Entries/Fields/RegistryFieldTest.php similarity index 55% rename from tests/Foundation/Content/Fields/RegistryFieldTest.php rename to tests/Foundation/Entries/Fields/RegistryFieldTest.php index 5ae2766700..4fa858c21a 100644 --- a/tests/Foundation/Content/Fields/RegistryFieldTest.php +++ b/tests/Foundation/Entries/Fields/RegistryFieldTest.php @@ -11,11 +11,11 @@ }); test('test registry field', function () { - flextype('entries')->create('registry-root', flextype('serializers')->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('serializers')->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('serializers')->frontmatter()->decode(filesystem()->file(ROOT_DIR . '/tests/Foundation/Entries/Fields/fixtures/entries/registry-root/level-1/level-2/entry.md')->get())); + entries()->create('registry-root', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/registry-root/entry.yaml')->get())); + entries()->create('registry-root/level-1', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/registry-root/level-1/entry.yaml')->get())); + entries()->create('registry-root/level-1/level-2', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/registry-root/level-1/level-2/entry.yaml')->get())); - $data = flextype('entries')->fetch('registry-root'); + $data = entries()->fetch('registry-root'); $this->assertEquals('Flextype', $data['flextype']); $this->assertEquals('Sergey Romanenko', $data['author']['name']); diff --git a/tests/Foundation/Entries/Fields/RoutableFieldTest.php b/tests/Foundation/Entries/Fields/RoutableFieldTest.php new file mode 100644 index 0000000000..5fbdfea558 --- /dev/null +++ b/tests/Foundation/Entries/Fields/RoutableFieldTest.php @@ -0,0 +1,27 @@ +directory(PATH['project'] . '/entries')->create(); +}); + +afterEach(function (): void { + filesystem()->directory(PATH['project'] . '/entries')->delete(); +}); + +test('test RoutableField', function () { + registry()->set('flextype.settings.cache.enabled', false); + + entries()->create('foo', ['routable' => true]); + $routable = entries()->fetch('foo')['routable']; + $this->assertTrue($routable); + + entries()->create('bar', []); + $routable = entries()->fetch('bar')['routable']; + $this->assertTrue($routable); + + entries()->create('zed', ['routable' => false]); + $routable = entries()->fetch('zed')['routable']; + $this->assertFalse($routable); +}); diff --git a/tests/Foundation/Content/Fields/SlugFieldTest.php b/tests/Foundation/Entries/Fields/SlugFieldTest.php similarity index 65% rename from tests/Foundation/Content/Fields/SlugFieldTest.php rename to tests/Foundation/Entries/Fields/SlugFieldTest.php index 3e8feebae5..414d5ea13d 100644 --- a/tests/Foundation/Content/Fields/SlugFieldTest.php +++ b/tests/Foundation/Entries/Fields/SlugFieldTest.php @@ -11,11 +11,11 @@ }); test('test SlugField', function () { - flextype('entries')->create('foo', []); - $slug = flextype('entries')->fetch('foo')['slug']; + entries()->create('foo', []); + $slug = entries()->fetch('foo')['slug']; $this->assertEquals('foo', $slug); - flextype('entries')->create('bar', []); - $slug = flextype('entries')->fetch('bar')['slug']; + entries()->create('bar', []); + $slug = entries()->fetch('bar')['slug']; $this->assertEquals('bar', $slug); }); diff --git a/tests/Foundation/Content/Fields/UuidFieldTest.php b/tests/Foundation/Entries/Fields/UuidFieldTest.php similarity index 79% rename from tests/Foundation/Content/Fields/UuidFieldTest.php rename to tests/Foundation/Entries/Fields/UuidFieldTest.php index 586a63bb6c..982f2a47a6 100644 --- a/tests/Foundation/Content/Fields/UuidFieldTest.php +++ b/tests/Foundation/Entries/Fields/UuidFieldTest.php @@ -13,7 +13,7 @@ }); test('test UuidField', function () { - flextype('entries')->create('foo', []); - $uuid = flextype('entries')->fetch('foo')['uuid']; + entries()->create('foo', []); + $uuid = entries()->fetch('foo')['uuid']; $this->assertTrue(v::uuid()->validate($uuid)); }); diff --git a/tests/Foundation/Content/Fields/VisibilityFieldTest.php b/tests/Foundation/Entries/Fields/VisibilityFieldTest.php similarity index 54% rename from tests/Foundation/Content/Fields/VisibilityFieldTest.php rename to tests/Foundation/Entries/Fields/VisibilityFieldTest.php index 888173ddb0..bc9b143efa 100644 --- a/tests/Foundation/Content/Fields/VisibilityFieldTest.php +++ b/tests/Foundation/Entries/Fields/VisibilityFieldTest.php @@ -11,15 +11,15 @@ }); test('test VisibilityField', function () { - flextype('entries')->create('foo', []); - $visibility = flextype('entries')->fetch('foo')['visibility']; + entries()->create('foo', []); + $visibility = entries()->fetch('foo')['visibility']; $this->assertEquals('visible', $visibility); - flextype('entries')->create('bar', ['visibility' => 'draft']); - $visibility = flextype('entries')->fetch('bar')['visibility']; + entries()->create('bar', ['visibility' => 'draft']); + $visibility = entries()->fetch('bar')['visibility']; $this->assertEquals('draft', $visibility); - flextype('entries')->create('zed', ['visibility' => 'foobar']); - $visibility = flextype('entries')->fetch('zed')['visibility']; + entries()->create('zed', ['visibility' => 'foobar']); + $visibility = entries()->fetch('zed')['visibility']; $this->assertEquals('visible', $visibility); }); diff --git a/tests/Foundation/FlextypeTest.php b/tests/Foundation/FlextypeTest.php index 5dfb2c0881..d40d582eac 100644 --- a/tests/Foundation/FlextypeTest.php +++ b/tests/Foundation/FlextypeTest.php @@ -28,9 +28,9 @@ test('test container() method', function () { // get container - $this->assertInstanceOf(Entries::class, Flextype::getInstance()->container('entries')); + // $this->assertInstanceOf(Entries::class, Flextype::getInstance()->container('entries')); // set container - Flextype::getInstance()->container()['foo'] = 'bar'; - $this->assertEquals('bar', Flextype::getInstance()->container('foo')); + // Flextype::getInstance()->container()['foo'] = 'bar'; + //$this->assertEquals('bar', Flextype::getInstance()->container('foo')); }); diff --git a/tests/Foundation/Helpers/FlextypHelperTest.php b/tests/Foundation/Helpers/FlextypHelperTest.php index e03fa00c8f..b02fb59ab5 100644 --- a/tests/Foundation/Helpers/FlextypHelperTest.php +++ b/tests/Foundation/Helpers/FlextypHelperTest.php @@ -20,9 +20,9 @@ test('test container() method', function () { // get container - $this->assertInstanceOf(Entries::class, flextype('entries')); + //$this->assertInstanceOf(Entries::class, entries()); // set container - flextype()->container()['foo'] = 'bar'; - $this->assertEquals('bar', flextype('foo')); + //flextype()->container()()['foo'] = 'bar'; + //$this->assertEquals('bar', flextype('foo')); }); diff --git a/tests/Foundation/Media/MediaFilesMetaTest.php b/tests/Foundation/Media/MediaFilesMetaTest.php deleted file mode 100644 index 76b6e252aa..0000000000 --- a/tests/Foundation/Media/MediaFilesMetaTest.php +++ /dev/null @@ -1,44 +0,0 @@ -directory(PATH['project'] . '/media')->create(0755, true); - filesystem()->directory(PATH['project'] . '/media/.meta')->create(0755, true); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/media/.meta')->delete(); - filesystem()->directory(PATH['project'] . '/media')->delete(); -}); - -test('test update() method', function () { - filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); - - $this->assertTrue(flextype('media')->files()->meta()->update('foo.txt', 'description', 'Foo description')); - $this->assertEquals('Foo description', flextype('serializers')->yaml()->decode(filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->get())['description']); -}); - -test('test add() method', function () { - filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); - - $this->assertTrue(flextype('media')->files()->meta()->add('foo.txt', 'bar', 'Bar')); - $this->assertEquals('Bar', flextype('serializers')->yaml()->decode(filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->get())['bar']); -}); - -test('test delete() method', function () { - filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); - - $this->assertTrue(flextype('media')->files()->meta()->delete('foo.txt', 'title')); - $this->assertTrue(empty(flextype('serializers')->yaml()->decode(filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->get())['bar'])); -}); - -test('test getFileMetaLocation() method', function () { - filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); - $this->assertStringContainsString('foo.txt.yaml', - flextype('media')->files()->meta()->getFileMetaLocation('foo.txt')); -}); diff --git a/tests/Foundation/Media/MediaFilesTest.php b/tests/Foundation/Media/MediaFilesTest.php deleted file mode 100644 index 94b407914b..0000000000 --- a/tests/Foundation/Media/MediaFilesTest.php +++ /dev/null @@ -1,68 +0,0 @@ -directory(PATH['project'] . '/media')->create(0755, true); - filesystem()->directory(PATH['project'] . '/media/.meta')->create(0755, true); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/media/.meta')->delete(); - filesystem()->directory(PATH['project'] . '/media')->delete(); -}); - -test('test fetch() method', function () { - filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); - filesystem()->file(PATH['project'] . '/media/bar.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/bar.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Bar', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); - - $this->assertTrue(count(flextype('media')->files()->fetch('foo.txt')) > 0); - $this->assertEquals('Foo', flextype('media')->files()->fetch('foo.txt')['title']); - - $this->assertTrue(count(flextype('media')->files()->fetch('/', ['collection' => true])) == 2); - $this->assertEquals('Foo', flextype('media')->files()->fetch('/', ['collection' => true])['foo.txt']['title']); -}); - -test('test move() method', function () { - filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); - - $this->assertTrue(flextype('media')->files()->move('foo.txt', 'bar.txt')); - $this->assertTrue(flextype('media')->files()->move('bar.txt', 'foo.txt')); - $this->assertFalse(flextype('media')->files()->move('bar.txt', 'foo.txt')); -}); - -test('test copy() method', function () { - $this->assertTrue(flextype('media')->folders()->create('foo')); - $this->assertTrue(flextype('media')->folders()->create('bar')); - - filesystem()->file(PATH['project'] . '/media/foo/foo.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/foo/foo.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); - - $this->assertTrue(flextype('media')->files()->copy('foo/foo.txt', 'bar/foo.txt')); - $this->assertTrue(flextype('media')->files()->copy('foo/foo.txt', 'bar/bar.txt')); - $this->assertFalse(flextype('media')->files()->copy('foo/foo.txt', 'bar/foo.txt')); -}); - -test('test has() method', function () { - filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); - - $this->assertTrue(flextype('media')->files()->has('foo.txt')); - $this->assertFalse(flextype('media')->files()->has('bar.txt')); -}); - -test('test getFileLocation() method', function () { - filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); - $this->assertStringContainsString('foo.txt', flextype('media')->files()->getFileLocation('foo.txt')); -}); - -test('test delete() method', function () { - filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); - $this->assertTrue(flextype('media')->files()->delete('foo.txt')); - $this->assertFalse(flextype('media')->files()->delete('foo.txt')); -}); diff --git a/tests/Foundation/Media/MediaFoldersMetaTest.php b/tests/Foundation/Media/MediaFoldersMetaTest.php deleted file mode 100644 index f1bfcb44c2..0000000000 --- a/tests/Foundation/Media/MediaFoldersMetaTest.php +++ /dev/null @@ -1,18 +0,0 @@ -directory(PATH['project'] . '/media')->create(0755, true); - filesystem()->directory(PATH['project'] . '/media/.meta')->create(0755, true); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/media/.meta')->delete(); - filesystem()->directory(PATH['project'] . '/media')->delete(); -}); - -test('test getDirectoryMetaLocation() method', function () { - $this->assertStringContainsString('/.meta/foo', - flextype('media')->folders()->meta()->getDirectoryMetaLocation('foo')); -}); diff --git a/tests/Foundation/Media/MediaFoldersTest.php b/tests/Foundation/Media/MediaFoldersTest.php deleted file mode 100644 index c05cb38d94..0000000000 --- a/tests/Foundation/Media/MediaFoldersTest.php +++ /dev/null @@ -1,54 +0,0 @@ -directory(PATH['project'] . '/media')->create(0755, true); - filesystem()->directory(PATH['project'] . '/media/.meta')->create(0755, true); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/media/.meta')->delete(); - filesystem()->directory(PATH['project'] . '/media')->delete(); -}); - - -test('test fetch() method', function () { - $this->assertTrue(flextype('media')->folders()->create('foo')); - $this->assertTrue(flextype('media')->folders()->create('foo/bar')); - $this->assertTrue(flextype('media')->folders()->create('foo/zed')); - $this->assertTrue(count(flextype('media')->folders()->fetch('foo', ['collection' => true])) == 2); - $this->assertTrue(count(flextype('media')->folders()->fetch('foo')) > 0); -}); - -test('test create() method', function () { - $this->assertTrue(flextype('media')->folders()->create('foo')); -}); - -test('test move() method', function () { - $this->assertTrue(flextype('media')->folders()->create('foo')); - $this->assertTrue(flextype('media')->folders()->move('foo', 'bar')); -}); - -test('test copy() method', function () { - $this->assertTrue(flextype('media')->folders()->create('foo')); - $this->assertTrue(flextype('media')->folders()->copy('foo', 'bar')); -}); - - -test('test has() method', function () { - $this->assertTrue(flextype('media')->folders()->create('foo')); - $this->assertTrue(flextype('media')->folders()->has('foo')); - $this->assertFalse(flextype('media')->folders()->has('bar')); -}); - -test('test delete() method', function () { - $this->assertTrue(flextype('media')->folders()->create('foo')); - $this->assertTrue(flextype('media')->folders()->delete('foo')); - $this->assertFalse(flextype('media')->folders()->delete('bar')); -}); - -test('test getDirectoryLocation() method', function () { - $this->assertStringContainsString('/foo', - flextype('media')->folders()->getDirectoryLocation('foo')); -}); diff --git a/tests/Pest.php b/tests/Pest.php index b2f74136cb..4cd622d4c8 100644 --- a/tests/Pest.php +++ b/tests/Pest.php @@ -4,8 +4,7 @@ namespace Flextype; - -define('FLEXTYPE_MINIMUM_PHP', '7.3.0'); +define('FLEXTYPE_MINIMUM_PHP', '7.4.0'); define('ROOT_DIR', str_replace(DIRECTORY_SEPARATOR, '/', getcwd())); define('PATH', [ 'project' => ROOT_DIR . '/project', @@ -16,3 +15,4 @@ $flextype_loader = require_once $flextype_autoload; include ROOT_DIR . '/src/flextype/flextype.php'; + diff --git a/tests/Support/Helpers/FindHelperTest.php b/tests/Support/Helpers/FindHelperTest.php index 11a742d4dc..67be33d77a 100644 --- a/tests/Support/Helpers/FindHelperTest.php +++ b/tests/Support/Helpers/FindHelperTest.php @@ -6,7 +6,7 @@ beforeEach(function() { filesystem()->directory(PATH['project'] . '/entries')->create(0755, true); - flextype('entries')->create('foo', []); + entries()->create('foo', []); }); afterEach(function (): void { diff --git a/tests/Support/Parsers/ShortcodeTest.php b/tests/Support/Parsers/ShortcodeTest.php index 780f66df0c..06b6378064 100644 --- a/tests/Support/Parsers/ShortcodeTest.php +++ b/tests/Support/Parsers/ShortcodeTest.php @@ -8,34 +8,34 @@ use Thunder\Shortcode\Shortcode\ShortcodeInterface; test('test getInstance() method', function () { - $this->assertInstanceOf(Flextype\Support\Parsers\Shortcode::class, flextype('parsers')->shortcode()->getInstance()); + $this->assertInstanceOf(Flextype\Support\Parsers\Shortcode::class, parsers()->shortcode()->getInstance()); }); test('test addHandler() method', function () { - $this->assertInstanceOf(Thunder\Shortcode\ShortcodeFacade::class, flextype('parsers')->shortcode()->addHandler('foo', static function() { return ''; })); + $this->assertInstanceOf(Thunder\Shortcode\ShortcodeFacade::class, parsers()->shortcode()->addHandler('foo', static function() { return ''; })); }); test('test addEventHandler() method', function () { - flextype('parsers')->shortcode()->addHandler('barz', static function () { + parsers()->shortcode()->addHandler('barz', static function () { return 'Barz'; }); - flextype('parsers')->shortcode()->addEventHandler(Events::FILTER_SHORTCODES, new FilterRawEventHandler(['barz'])); - $this->assertEquals('Barz', flextype('parsers')->shortcode()->process('[barz]')); + parsers()->shortcode()->addEventHandler(Events::FILTER_SHORTCODES, new FilterRawEventHandler(['barz'])); + $this->assertEquals('Barz', parsers()->shortcode()->process('[barz]')); }); test('test parse() method', function () { - $this->assertInstanceOf(Thunder\Shortcode\ShortcodeFacade::class, flextype('parsers')->shortcode()->addHandler('bar', static function() { return ''; })); - $this->assertTrue(is_array(flextype('parsers')->shortcode()->parse('[bar]'))); - $this->assertTrue(is_object(flextype('parsers')->shortcode()->parse('[bar]')[0])); + $this->assertInstanceOf(Thunder\Shortcode\ShortcodeFacade::class, parsers()->shortcode()->addHandler('bar', static function() { return ''; })); + $this->assertTrue(is_array(parsers()->shortcode()->parse('[bar]'))); + $this->assertTrue(is_object(parsers()->shortcode()->parse('[bar]')[0])); }); test('test process() method', function () { - $this->assertInstanceOf(Thunder\Shortcode\ShortcodeFacade::class, flextype('parsers')->shortcode()->addHandler('zed', static function() { return 'Zed'; })); - $this->assertEquals('Zed', flextype('parsers')->shortcode()->process('[zed]')); - $this->assertEquals('fòôBàřZed', flextype('parsers')->shortcode()->process('fòôBàř[zed]')); + $this->assertInstanceOf(Thunder\Shortcode\ShortcodeFacade::class, parsers()->shortcode()->addHandler('zed', static function() { return 'Zed'; })); + $this->assertEquals('Zed', parsers()->shortcode()->process('[zed]')); + $this->assertEquals('fòôBàřZed', parsers()->shortcode()->process('fòôBàř[zed]')); }); test('test getCacheID() method', function () { - $this->assertNotEquals(flextype('parsers')->shortcode()->getCacheID('fòôBàř[bar]'), - flextype('parsers')->shortcode()->getCacheID('fòôBàř[foo]')); + $this->assertNotEquals(parsers()->shortcode()->getCacheID('fòôBàř[bar]'), + parsers()->shortcode()->getCacheID('fòôBàř[foo]')); }); diff --git a/tests/Support/Parsers/Shortcodes/EntriesShortcodeTest.php b/tests/Support/Parsers/Shortcodes/EntriesShortcodeTest.php index 1a9e4eb3e4..0d0acb99d0 100644 --- a/tests/Support/Parsers/Shortcodes/EntriesShortcodeTest.php +++ b/tests/Support/Parsers/Shortcodes/EntriesShortcodeTest.php @@ -11,7 +11,7 @@ }); test('test entries_fetch shortcode', function () { - $this->assertTrue(flextype('entries')->create('foo', ['title' => 'Foo'])); - $this->assertEquals('Foo', flextype('parsers')->shortcode()->process('[entries_fetch id="foo" field="title"]')); - $this->assertEquals('Bar', flextype('parsers')->shortcode()->process('[entries_fetch id="foo" field="bar" default="Bar"]')); + $this->assertTrue(entries()->create('foo', ['title' => 'Foo'])); + $this->assertEquals('Foo', parsers()->shortcode()->process('[entries_fetch id="foo" field="title"]')); + $this->assertEquals('Bar', parsers()->shortcode()->process('[entries_fetch id="foo" field="bar" default="Bar"]')); }); diff --git a/tests/Support/Parsers/Shortcodes/MediaShortcodeTest.php b/tests/Support/Parsers/Shortcodes/MediaShortcodeTest.php index 6e4c1b7935..12ca4866fd 100644 --- a/tests/Support/Parsers/Shortcodes/MediaShortcodeTest.php +++ b/tests/Support/Parsers/Shortcodes/MediaShortcodeTest.php @@ -14,10 +14,10 @@ test('test media_files_fetch shortcode', function () { filesystem()->file(PATH['project'] . '/media/foo.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); + filesystem()->file(PATH['project'] . '/media/.meta/foo.txt.yaml')->put(serializers()->yaml()->encode(['title' => 'Foo', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); filesystem()->file(PATH['project'] . '/media/bar.txt')->put('foo'); - filesystem()->file(PATH['project'] . '/media/.meta/bar.txt.yaml')->put(flextype('serializers')->yaml()->encode(['title' => 'Bar', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); + filesystem()->file(PATH['project'] . '/media/.meta/bar.txt.yaml')->put(serializers()->yaml()->encode(['title' => 'Bar', 'description' => '', 'type' => 'text/plain', 'filesize' => 3, 'uploaded_on' => 1603090370, 'exif' => []])); - $this->assertEquals('Foo', flextype('parsers')->shortcode()->process('[media_files_fetch id="foo.txt" field="title"]')); - $this->assertEquals('Bar', flextype('parsers')->shortcode()->process('[media_files_fetch id="foo.txt" field="foo" default="Bar"]')); + $this->assertEquals('Foo', parsers()->shortcode()->process('[media_files_fetch id="foo.txt" field="title"]')); + $this->assertEquals('Bar', parsers()->shortcode()->process('[media_files_fetch id="foo.txt" field="foo" default="Bar"]')); }); diff --git a/tests/Support/Parsers/Shortcodes/RawShortcodeTest.php b/tests/Support/Parsers/Shortcodes/RawShortcodeTest.php index 924b7bf381..776d9057c8 100644 --- a/tests/Support/Parsers/Shortcodes/RawShortcodeTest.php +++ b/tests/Support/Parsers/Shortcodes/RawShortcodeTest.php @@ -11,7 +11,7 @@ }); test('test raw shortcode', function () { - $this->assertTrue(flextype('entries')->create('foo', ['title' => 'Foo'])); + $this->assertTrue(entries()->create('foo', ['title' => 'Foo'])); $this->assertEquals('[entries_fetch id="foo" field="title"]', - flextype('parsers')->shortcode()->process('[raw][entries_fetch id="foo" field="title"][/raw]')); + parsers()->shortcode()->process('[raw][entries_fetch id="foo" field="title"][/raw]')); }); diff --git a/tests/Support/Parsers/Shortcodes/RegistryShortcodeTest.php b/tests/Support/Parsers/Shortcodes/RegistryShortcodeTest.php index e8810acd78..155b440516 100644 --- a/tests/Support/Parsers/Shortcodes/RegistryShortcodeTest.php +++ b/tests/Support/Parsers/Shortcodes/RegistryShortcodeTest.php @@ -4,7 +4,7 @@ test('test registry_get shortcode', function () { $this->assertEquals('Flextype', - flextype('parsers')->shortcode()->process('[registry_get name="flextype.manifest.name"]')); + parsers()->shortcode()->process('[registry_get name="flextype.manifest.name"]')); $this->assertEquals('default-value', - flextype('parsers')->shortcode()->process('[registry_get name="item-name" default="default-value"]')); + parsers()->shortcode()->process('[registry_get name="item-name" default="default-value"]')); }); diff --git a/tests/Support/Parsers/Shortcodes/UrlShortcodeTest.php b/tests/Support/Parsers/Shortcodes/UrlShortcodeTest.php index bfab3fde54..b730ae63dd 100644 --- a/tests/Support/Parsers/Shortcodes/UrlShortcodeTest.php +++ b/tests/Support/Parsers/Shortcodes/UrlShortcodeTest.php @@ -3,8 +3,8 @@ declare(strict_types=1); test('test registry_get shortcode', function () { - $this->assertStringContainsString('http', flextype('parsers')->shortcode()->process('[url]')); + $this->assertStringContainsString('http', parsers()->shortcode()->process('[url]')); - flextype('registry')->set('flextype.settings.url', 'https://flextype.org'); - $this->assertStringContainsString('https://flextype.org', flextype('parsers')->shortcode()->process('[url]')); + registry()->set('flextype.settings.url', 'https://flextype.org'); + $this->assertStringContainsString('https://flextype.org', parsers()->shortcode()->process('[url]')); }); diff --git a/tests/Support/Serializers/FrontmatterTest.php b/tests/Support/Serializers/FrontmatterTest.php deleted file mode 100644 index 0f6727e6b6..0000000000 --- a/tests/Support/Serializers/FrontmatterTest.php +++ /dev/null @@ -1,25 +0,0 @@ -assertEquals("---\ntitle: Foo\n---\nBar", - flextype('serializers')->frontmatter() - ->encode(['title' => 'Foo', - 'content' => 'Bar'])); -}); - -test('test decode() method', function () { - $this->assertEquals(['title' => 'Foo', - 'content' => 'Bar'], - flextype('serializers')->frontmatter() - ->decode("---\ntitle: Foo\n---\nBar")); -}); - -test('test getCacheID() method', function () { - $string = "---\ntitle: Foo\n---\nBar"; - $cache_id = flextype('serializers')->frontmatter() - ->getCacheID($string); - $this->assertEquals(32, strlen($cache_id)); - $this->assertNotEquals($string, $cache_id); -}); diff --git a/tests/Support/Serializers/JsonTest.php b/tests/Support/Serializers/JsonTest.php index ed8809cdda..e8a8a2e76c 100644 --- a/tests/Support/Serializers/JsonTest.php +++ b/tests/Support/Serializers/JsonTest.php @@ -3,22 +3,22 @@ declare(strict_types=1); test('test encode() method', function () { - $this->assertEquals('{"title":"Foo","content":"Bar"}', - flextype('serializers')->json() + $this->assertEquals('{"title":"Foo","entries":"Bar"}', + serializers()->json() ->encode(['title' => 'Foo', - 'content' => 'Bar'])); + 'entries' => 'Bar'])); }); test('test decode() method', function () { $this->assertEquals(['title' => 'Foo', - 'content' => 'Bar'], - flextype('serializers')->json() - ->decode('{"title":"Foo","content":"Bar"}')); + 'entries' => 'Bar'], + serializers()->json() + ->decode('{"title":"Foo","entries":"Bar"}')); }); test('test getCacheID() method', function () { - $string = '{"title":"Foo","content":"Bar"}'; - $cache_id = flextype('serializers')->json() + $string = '{"title":"Foo","entries":"Bar"}'; + $cache_id = serializers()->json() ->getCacheID($string); $this->assertEquals(32, strlen($cache_id)); $this->assertNotEquals($string, $cache_id); diff --git a/tests/Support/Serializers/YamlTest.php b/tests/Support/Serializers/YamlTest.php index d931dbc008..84787d80ce 100644 --- a/tests/Support/Serializers/YamlTest.php +++ b/tests/Support/Serializers/YamlTest.php @@ -3,22 +3,22 @@ declare(strict_types=1); test('test encode() method', function () { - $this->assertEquals("title: Foo\ncontent: Bar\n", - flextype('serializers')->yaml() + $this->assertEquals("title: Foo\nentries: Bar\n", + serializers()->yaml() ->encode(['title' => 'Foo', - 'content' => 'Bar'])); + 'entries' => 'Bar'])); }); test('test decode() method', function () { $this->assertEquals(['title' => 'Foo', - 'content' => 'Bar'], - flextype('serializers')->yaml() - ->decode("title: Foo\ncontent: Bar")); + 'entries' => 'Bar'], + serializers()->yaml() + ->decode("title: Foo\nentries: Bar")); }); test('test getCacheID() method', function () { - $string = "title:Foo\ncontent:Bar"; - $cache_id = flextype('serializers')->yaml() + $string = "title:Foo\nentries:Bar"; + $cache_id = serializers()->yaml() ->getCacheID($string); $this->assertEquals(32, strlen($cache_id)); $this->assertNotEquals($string, $cache_id); diff --git a/tests/Foundation/Content/Fields/fixtures/content/blog/entry.yaml b/tests/fixtures/entries/blog/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/blog/entry.yaml rename to tests/fixtures/entries/blog/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/blog/post-1/entry.yaml b/tests/fixtures/entries/blog/post-1/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/blog/post-1/entry.yaml rename to tests/fixtures/entries/blog/post-1/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/blog/post-2/entry.yaml b/tests/fixtures/entries/blog/post-2/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/blog/post-2/entry.yaml rename to tests/fixtures/entries/blog/post-2/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/catalog/bikes/entry.yaml b/tests/fixtures/entries/catalog/bikes/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/catalog/bikes/entry.yaml rename to tests/fixtures/entries/catalog/bikes/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/catalog/bikes/gt/entry.yaml b/tests/fixtures/entries/catalog/bikes/gt/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/catalog/bikes/gt/entry.yaml rename to tests/fixtures/entries/catalog/bikes/gt/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/catalog/bikes/norco/entry.yaml b/tests/fixtures/entries/catalog/bikes/norco/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/catalog/bikes/norco/entry.yaml rename to tests/fixtures/entries/catalog/bikes/norco/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/catalog/entry.yaml b/tests/fixtures/entries/catalog/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/catalog/entry.yaml rename to tests/fixtures/entries/catalog/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/level1/entry.yaml b/tests/fixtures/entries/level1/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/level1/entry.yaml rename to tests/fixtures/entries/level1/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/level1/level2/entry.yaml b/tests/fixtures/entries/level1/level2/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/level1/level2/entry.yaml rename to tests/fixtures/entries/level1/level2/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/level1/level2/level3/entry.yaml b/tests/fixtures/entries/level1/level2/level3/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/level1/level2/level3/entry.yaml rename to tests/fixtures/entries/level1/level2/level3/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/level1/level2/level3/level4/entry.yaml b/tests/fixtures/entries/level1/level2/level3/level4/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/level1/level2/level3/level4/entry.yaml rename to tests/fixtures/entries/level1/level2/level3/level4/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/macroable/entry.yaml b/tests/fixtures/entries/macroable/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/macroable/entry.yaml rename to tests/fixtures/entries/macroable/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/media/entry.yaml b/tests/fixtures/entries/media/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/media/entry.yaml rename to tests/fixtures/entries/media/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/registry-root/entry.yaml b/tests/fixtures/entries/registry-root/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/registry-root/entry.yaml rename to tests/fixtures/entries/registry-root/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/registry-root/level-1/entry.yaml b/tests/fixtures/entries/registry-root/level-1/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/registry-root/level-1/entry.yaml rename to tests/fixtures/entries/registry-root/level-1/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/registry-root/level-1/level-2/entry.yaml b/tests/fixtures/entries/registry-root/level-1/level-2/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/registry-root/level-1/level-2/entry.yaml rename to tests/fixtures/entries/registry-root/level-1/level-2/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/root/albums/category-1/album-1/entry.yaml b/tests/fixtures/entries/root/albums/category-1/album-1/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/root/albums/category-1/album-1/entry.yaml rename to tests/fixtures/entries/root/albums/category-1/album-1/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/root/albums/category-1/entry.yaml b/tests/fixtures/entries/root/albums/category-1/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/root/albums/category-1/entry.yaml rename to tests/fixtures/entries/root/albums/category-1/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/root/albums/entry.yaml b/tests/fixtures/entries/root/albums/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/root/albums/entry.yaml rename to tests/fixtures/entries/root/albums/entry.yaml diff --git a/tests/Foundation/Content/Fields/fixtures/content/root/entry.yaml b/tests/fixtures/entries/root/entry.yaml similarity index 100% rename from tests/Foundation/Content/Fields/fixtures/content/root/entry.yaml rename to tests/fixtures/entries/root/entry.yaml