diff --git a/tests/fixtures/entries/blog/entry.yaml b/tests/fixtures/entries/blog/entry.yaml new file mode 100644 index 00000000..5d3caf12 --- /dev/null +++ b/tests/fixtures/entries/blog/entry.yaml @@ -0,0 +1 @@ +title: Blog \ No newline at end of file diff --git a/tests/fixtures/entries/content/blog/post-1/content.yaml b/tests/fixtures/entries/blog/post-1/post.md similarity index 66% rename from tests/fixtures/entries/content/blog/post-1/content.yaml rename to tests/fixtures/entries/blog/post-1/post.md index dd784cf6..d07c8d25 100644 --- a/tests/fixtures/entries/content/blog/post-1/content.yaml +++ b/tests/fixtures/entries/blog/post-1/post.md @@ -1 +1,3 @@ +--- title: Post 1 +--- \ No newline at end of file diff --git a/tests/fixtures/entries/content/blog/post-2/content.yaml b/tests/fixtures/entries/blog/post-2/post.md similarity index 66% rename from tests/fixtures/entries/content/blog/post-2/content.yaml rename to tests/fixtures/entries/blog/post-2/post.md index ccf850c9..b2baf2df 100644 --- a/tests/fixtures/entries/content/blog/post-2/content.yaml +++ b/tests/fixtures/entries/blog/post-2/post.md @@ -1 +1,3 @@ +--- title: Post 2 +--- \ No newline at end of file diff --git a/tests/fixtures/entries/content/blog/content.yaml b/tests/fixtures/entries/content/blog/content.yaml deleted file mode 100644 index 08d52646..00000000 --- a/tests/fixtures/entries/content/blog/content.yaml +++ /dev/null @@ -1,7 +0,0 @@ -title: blog -content: - fetch: - posts: - id: blog - options: - collection: true \ No newline at end of file diff --git a/tests/fixtures/entries/content/catalog/bikes/content.yaml b/tests/fixtures/entries/content/catalog/bikes/content.yaml deleted file mode 100644 index eea2139c..00000000 --- a/tests/fixtures/entries/content/catalog/bikes/content.yaml +++ /dev/null @@ -1 +0,0 @@ -title: Bikes diff --git a/tests/fixtures/entries/content/catalog/bikes/gt/content.yaml b/tests/fixtures/entries/content/catalog/bikes/gt/content.yaml deleted file mode 100644 index b58e5822..00000000 --- a/tests/fixtures/entries/content/catalog/bikes/gt/content.yaml +++ /dev/null @@ -1,24 +0,0 @@ -title: GT -brand: gt -content: - fetch: - discounts_available: - id: discounts - options: - collection: true - filter: - where: - - - key: category - operator: eq - value: bikes - label1: - id: discounts/50-off - options: - filter: - limit: 3 - label2: - id: discounts/30-off - options: - filter: - limit: 2 \ No newline at end of file diff --git a/tests/fixtures/entries/content/catalog/bikes/norco/content.yaml b/tests/fixtures/entries/content/catalog/bikes/norco/content.yaml deleted file mode 100644 index d1d1b544..00000000 --- a/tests/fixtures/entries/content/catalog/bikes/norco/content.yaml +++ /dev/null @@ -1,12 +0,0 @@ -title: Norco -brand: norco -content: - fetch: - label: - id: discounts/30-off - options: - collection: true - discounts: - id: discounts - options: - collection: true \ No newline at end of file diff --git a/tests/fixtures/entries/content/catalog/content.yaml b/tests/fixtures/entries/content/catalog/content.yaml deleted file mode 100644 index 7386db39..00000000 --- a/tests/fixtures/entries/content/catalog/content.yaml +++ /dev/null @@ -1,34 +0,0 @@ -title: Catalog -visibility: visible -content: - fetch: - label1: - id: discounts/50-off - options: - filter: - limit: 4 - bikes: - id: catalog/bikes - options: - collection: true - filter: - where: - - - key: brand - operator: eq - value: gt - limit: 10 - discounts: - id: discounts - options: - collection: true - filter: - where: - - - key: title - operator: eq - value: '30% off' - - - key: category - operator: eq - value: bikes \ No newline at end of file diff --git a/tests/fixtures/entries/content/level1/content.yaml b/tests/fixtures/entries/content/level1/content.yaml deleted file mode 100644 index 437ab0a4..00000000 --- a/tests/fixtures/entries/content/level1/content.yaml +++ /dev/null @@ -1,5 +0,0 @@ -title: level1 -content: - fetch: - root: - id: level1/level2 \ No newline at end of file diff --git a/tests/fixtures/entries/content/level1/level2/content.yaml b/tests/fixtures/entries/content/level1/level2/content.yaml deleted file mode 100644 index ecd45084..00000000 --- a/tests/fixtures/entries/content/level1/level2/content.yaml +++ /dev/null @@ -1,5 +0,0 @@ -title: level2 -content: - fetch: - root: - id: level1/level2/level3 \ No newline at end of file diff --git a/tests/fixtures/entries/content/level1/level2/level3/content.yaml b/tests/fixtures/entries/content/level1/level2/level3/content.yaml deleted file mode 100644 index 451e11c0..00000000 --- a/tests/fixtures/entries/content/level1/level2/level3/content.yaml +++ /dev/null @@ -1,5 +0,0 @@ -title: level3 -content: - fetch: - root: - id: level1/level2/level3/level4 \ No newline at end of file diff --git a/tests/fixtures/entries/content/level1/level2/level3/level4/content.yaml b/tests/fixtures/entries/content/level1/level2/level3/level4/content.yaml deleted file mode 100644 index 0ec38e2f..00000000 --- a/tests/fixtures/entries/content/level1/level2/level3/level4/content.yaml +++ /dev/null @@ -1 +0,0 @@ -title: level4 \ No newline at end of file diff --git a/tests/fixtures/entries/content/macroable/content.yaml b/tests/fixtures/entries/content/macroable/content.yaml deleted file mode 100644 index 72577bd8..00000000 --- a/tests/fixtures/entries/content/macroable/content.yaml +++ /dev/null @@ -1,8 +0,0 @@ -title: Macroable -content: - fetch: - table: - id: table - options: - method: fetchExtraData - hello: world \ No newline at end of file diff --git a/tests/fixtures/entries/content/media/content.yaml b/tests/fixtures/entries/content/media/content.yaml deleted file mode 100644 index 8b91b7a3..00000000 --- a/tests/fixtures/entries/content/media/content.yaml +++ /dev/null @@ -1,26 +0,0 @@ -title: Media -media: - folders: - fetch: - macroable_folder: - id: 'foo' - options: - method: fetchExtraData - foo_folder: - id: 'foo' - collection_of_folders: - id: '/' - options: - collection: true - files: - fetch: - macroable_file: - id: 'foo' - options: - method: fetchExtraData - foo_file: - id: foo.txt - collection_of_files: - id: '/' - options: - collection: true diff --git a/tests/fixtures/entries/content/registry-root/content.yaml b/tests/fixtures/entries/content/registry-root/content.yaml deleted file mode 100644 index e3cd679d..00000000 --- a/tests/fixtures/entries/content/registry-root/content.yaml +++ /dev/null @@ -1,14 +0,0 @@ -title: Root -registry: - get: - flextype: - key: flextype.manifest.name - author.name: - key: flextype.manifest.author.name - license: - key: flextype.manifest.license -content: - fetch: - level1: - id: registry-root/level-1 - result: toArray diff --git a/tests/fixtures/entries/content/registry-root/level-1/content.yaml b/tests/fixtures/entries/content/registry-root/level-1/content.yaml deleted file mode 100644 index 70f2b5b7..00000000 --- a/tests/fixtures/entries/content/registry-root/level-1/content.yaml +++ /dev/null @@ -1,14 +0,0 @@ -title: Level 1 -content: - fetch: - 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 \ No newline at end of file diff --git a/tests/fixtures/entries/content/registry-root/level-1/level-2/content.yaml b/tests/fixtures/entries/content/registry-root/level-1/level-2/content.yaml deleted file mode 100644 index 4ee44e53..00000000 --- a/tests/fixtures/entries/content/registry-root/level-1/level-2/content.yaml +++ /dev/null @@ -1,9 +0,0 @@ -title: Level 2 -registry: - get: - flextype: - key: flextype.manifest.name - author.name: - key: flextype.manifest.author.name - license: - key: flextype.manifest.license \ No newline at end of file diff --git a/tests/fixtures/entries/content/root/albums/category-1/album-1/content.yaml b/tests/fixtures/entries/content/root/albums/category-1/album-1/content.yaml deleted file mode 100644 index 3ecb2a75..00000000 --- a/tests/fixtures/entries/content/root/albums/category-1/album-1/content.yaml +++ /dev/null @@ -1,19 +0,0 @@ -title: Album 1 -content: - fetch: - banner-single: - id: banners - banner-single-2: - id: banners/2 - banners-collection: - id: banners - options: - collection: true - banners-collection-2: - id: banners - options: - collection: true - filter: - limit: 1 - find: - depth: ">0" \ No newline at end of file diff --git a/tests/fixtures/entries/content/root/albums/category-1/content.yaml b/tests/fixtures/entries/content/root/albums/category-1/content.yaml deleted file mode 100644 index 6257edc8..00000000 --- a/tests/fixtures/entries/content/root/albums/category-1/content.yaml +++ /dev/null @@ -1 +0,0 @@ -title: Category1 diff --git a/tests/fixtures/entries/content/root/albums/content.yaml b/tests/fixtures/entries/content/root/albums/content.yaml deleted file mode 100644 index 8e696a4f..00000000 --- a/tests/fixtures/entries/content/root/albums/content.yaml +++ /dev/null @@ -1 +0,0 @@ -title: Albums diff --git a/tests/fixtures/entries/content/root/content.yaml b/tests/fixtures/entries/content/root/content.yaml deleted file mode 100644 index c7c2342d..00000000 --- a/tests/fixtures/entries/content/root/content.yaml +++ /dev/null @@ -1,15 +0,0 @@ -title: Root -content: - fetch: - albums: - id: albums - collection: - id: albums - options: - collection: true - collectionWithDepth: - id: albums - options: - collection: false - find: - depth: '>0' \ No newline at end of file diff --git a/tests/fixtures/entries/tokens/7b86884f257667c8322dce102dd9deae/tokens.yaml b/tests/fixtures/entries/tokens/7b86884f257667c8322dce102dd9deae/tokens.yaml deleted file mode 100644 index 183225e6..00000000 --- a/tests/fixtures/entries/tokens/7b86884f257667c8322dce102dd9deae/tokens.yaml +++ /dev/null @@ -1,4 +0,0 @@ -hashed_access_token: $2y$10$YGKSNfRneBWO.PnJsdo0zuI1crQJnrswZow0UoMapM6/RvmAcNrAm -calls: 13 -limit_calls: 0 -state: enabled diff --git a/tests/src/flextype/core/FilterHelperTest.php b/tests/src/flextype/HelpersTest.php similarity index 51% rename from tests/src/flextype/core/FilterHelperTest.php rename to tests/src/flextype/HelpersTest.php index 8b770839..2120e2ff 100644 --- a/tests/src/flextype/core/FilterHelperTest.php +++ b/tests/src/flextype/HelpersTest.php @@ -2,8 +2,96 @@ declare(strict_types=1); +use Flextype\Flextype; +use Flextype\Parsers\Parsers; +use Flextype\Serializers\Serializers; +use Flextype\Entries\Entries; +use Atomastic\Strings\Strings; +use Atomastic\Registry\Registry; +use Atomastic\Session\Session; +use Slim\App; +use DI\Container; +use League\Event\Emitter; +use Phpfastcache\Helper\Psr16Adapter as Cache; +use Monolog\Logger; +use Atomastic\Csrf\Csrf; +use Cocur\Slugify\Slugify; use Atomastic\Arrays\Arrays; +beforeEach(function() { + filesystem()->directory(PATH['project'] . '/entries')->ensureExists(0755, true); +}); + +afterEach(function () { + filesystem()->directory(PATH['project'] . '/entries')->delete(); +}); + +test('test flextype() helper', function () { + $this->assertSame(flextype(), Flextype::getInstance()); + expect(flextype())->toBeInstanceOf(Flextype::class); +}); + +test('test app() helper', function () { + $this->assertSame(app(), Flextype::getInstance()->app()); + expect(app())->toBeInstanceOf(App::class); +}); + +test('test container() helper', function () { + $this->assertSame(container(), Flextype::getInstance()->container()); + $this->assertSame(container(), Flextype::getInstance()->app()->getContainer()); + expect(container())->toBeInstanceOf(Container::class); +}); + +test('test emitter() helper', function () { + $this->assertSame(emitter(), Flextype::getInstance()->container()->get('emitter')); + expect(emitter())->toBeInstanceOf(Emitter::class); +}); + +test('test registry() helper', function () { + $this->assertSame(registry(), Flextype::getInstance()->container()->get('registry')); + expect(registry())->toBeInstanceOf(Registry::class); +}); + +test('test session() helper', function () { + $this->assertSame(session(), Flextype::getInstance()->container()->get('session')); + expect(session())->toBeInstanceOf(Session::class); +}); + +test('test cache() helper', function () { + $this->assertSame(cache(), Flextype::getInstance()->container()->get('cache')); + expect(cache())->toBeInstanceOf(Cache::class); +}); + +test('test entries() helper', function () { + $this->assertSame(entries(), Flextype::getInstance()->container()->get('entries')); + expect(entries())->toBeInstanceOf(Entries::class); +}); + +test('test logger() helper', function () { + $this->assertSame(logger(), Flextype::getInstance()->container()->get('logger')); + expect(logger())->toBeInstanceOf(Logger::class); +}); + +test('test parsers() helper', function () { + $this->assertSame(parsers(), Flextype::getInstance()->container()->get('parsers')); + expect(parsers())->toBeInstanceOf(Parsers::class); +}); + +test('test serializers() helper', function () { + $this->assertSame(serializers(), Flextype::getInstance()->container()->get('serializers')); + expect(serializers())->toBeInstanceOf(Serializers::class); +}); + +test('test csrf() helper', function () { + $this->assertSame(csrf(), Flextype::getInstance()->container()->get('csrf')); + expect(csrf())->toBeInstanceOf(Csrf::class); +}); + +test('test slugify() helper', function () { + $this->assertSame(slugify(), Flextype::getInstance()->container()->get('slugify')); + expect(slugify())->toBeInstanceOf(Slugify::class); +}); + test('test filterCollection() method', function () { $this->assertEquals([], filterCollection()); $this->assertEquals([], filterCollection([])); @@ -80,3 +168,12 @@ test('test filterCollection() method', function () { filterCollection($data, ['return' => 'all', 'where' => [['key' => 'title', 'operator' => '=', 'value' => 'About']]])); }); + + +test('test find() method', function () { + entries()->create('foo', []); + $this->assertTrue(find(PATH['project'] . '/entries')->hasResults()); + $this->assertTrue(find(PATH['project'] . '/entries', [])->hasResults()); + $this->assertTrue(find(PATH['project'] . '/entries', [], 'files')->hasResults()); + $this->assertTrue(find(PATH['project'], [], 'directories')->hasResults()); +}); diff --git a/tests/src/flextype/core/Content/ContentTest.php b/tests/src/flextype/core/Content/ContentTest.php deleted file mode 100644 index 5473cbb5..00000000 --- a/tests/src/flextype/core/Content/ContentTest.php +++ /dev/null @@ -1,170 +0,0 @@ -directory(PATH['project'] . '/entries/content')->ensureExists(0755, true); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test create() method', function () { - $this->assertTrue(content()->create('foo', [])); - $this->assertFalse(content()->create('foo', [])); -}); - -test('test has()', function () { - content()->create('foo', []); - - $this->assertTrue(content()->has('foo')); - $this->assertFalse(content()->has('bar')); -}); - -test('test update() method', function () { - content()->create('foo', []); - - $this->assertTrue(content()->update('foo', ['title' => 'Test'])); - $this->assertFalse(content()->update('bar', ['title' => 'Test'])); -}); - -test('test fetch() content', function () { - content()->create('foo', ['title' => 'Foo']); - content()->create('foo/bar', ['title' => 'Bar']); - content()->create('foo/baz', ['title' => 'Baz']); - content()->create('foo/zed', ['title' => 'Zed']); - - $this->assertEquals(11, content()->fetch('foo')->count()); - $this->assertEquals('foo', content()->fetch('foo')['id']); - $this->assertEquals(11, content()->fetch('foo', [])->count()); - $this->assertEquals('foo', content()->fetch('foo')['id']); - $this->assertEquals(3, content()->fetch('foo', ['collection' => true])->count()); - - $this->assertEquals('Bar', content()->fetch('foo/bar')['title']); - $this->assertEquals('Baz', content()->fetch('foo/baz')['title']); - $this->assertEquals('Zed', content()->fetch('foo/zed')['title']); - - content()->registry()->set('fetch.id', 'wrong-content'); - $this->assertEquals(0, content()->fetch('wrong-content')->count()); - content()->registry()->set('fetch.id', 'wrong-content'); - $this->assertEquals(0, content()->fetch('wrong-content')->count()); - - $this->assertTrue(count(content()->fetch('foo', ['collection' => true])) > 0); - - $this->assertEquals(['title' => 'Foo'], content()->fetch('foo', ['filter' => ['only' => ['title']]])->toArray()); - $this->assertEquals(10, content()->fetch('foo', ['filter' => ['except' => ['title']]])->count()); - $this->assertEquals(1, content()->fetch('foo', ['filter' => ['only' => ['title']]])->count()); - $this->assertEquals(['foo/zed' => ['title' => 'Zed'], 'foo/baz' => ['title' => 'Baz'], 'foo/bar' => ['title' => 'Bar']], content()->fetch('foo', ['collection' => true, 'filter' => ['only' => ['title']]])->toArray()); - $except = content()->fetch('foo', ['collection' => true, 'filter' => ['except' => ['title']]]); - $this->assertEquals(10, count($except['foo/bar'])); -}); - -test('test copy() method', function () { - content()->create('foo', []); - content()->create('foo/bar', []); - content()->create('foo/baz', []); - - content()->create('zed', []); - content()->copy('foo', 'zed'); - - $this->assertTrue(content()->has('zed')); -}); - -test('test delete() method', function () { - content()->create('foo', []); - content()->create('foo/bar', []); - content()->create('foo/baz', []); - - $this->assertTrue(content()->delete('foo')); - $this->assertFalse(content()->has('foo')); -}); - -test('test move() method', function () { - content()->create('foo', []); - content()->create('zed', []); - - $this->assertTrue(content()->move('foo', 'bar')); - $this->assertTrue(content()->has('bar')); - $this->assertFalse(content()->has('foo')); - $this->assertFalse(content()->move('zed', 'bar')); -}); - -test('test getFileLocation() method', function () { - content()->create('foo', []); - - $this->assertStringContainsString('/foo/content.yaml', - content()->getFileLocation('foo')); -}); - -test('test getDirectoryLocation() content', function () { - content()->create('foo', []); - - $this->assertStringContainsString('/foo', - content()->getDirectoryLocation('foo')); -}); - -test('test getCacheID() content', function () { - registry()->set('flextype.settings.cache.enabled', false); - content()->create('foo', []); - $this->assertEquals('', content()->getCacheID('foo')); - - registry()->set('flextype.settings.cache.enabled', true); - content()->create('bar', []); - $cache_id = content()->getCacheID('bar'); - $this->assertEquals(32, strlen($cache_id)); - registry()->set('flextype.settings.cache.enabled', false); -}); - -test('test storage() content', function () { - content()->registry()->set('foo', ['title' => 'Foo']); - $this->assertEquals('Foo', content()->registry()->get('foo')['title']); - content()->registry()->set('bar', ['title' => 'Bar']); - $this->assertEquals(true, content()->registry()->has('foo.title')); - $this->assertEquals(true, content()->registry()->has('bar.title')); - content()->registry()->delete('foo.title'); - content()->registry()->delete('bar.title'); - $this->assertEquals(false, content()->registry()->has('foo.title')); - $this->assertEquals(false, content()->registry()->has('bar.title')); -}); - -test('test macro() content', function () { - content()->create('foo', []); - content()->create('foo/bar', []); - content()->create('foo/baz', []); - - content()::macro('fetchRecentPosts', function($limit = 1) { - return content() - ->fetch('foo') - ->sortBy('published_at') - ->limit($limit); - }); - - $this->assertEquals(1, content()->fetchRecentPosts()->count()); - $this->assertEquals(1, content()->fetchRecentPosts(1)->count()); - $this->assertEquals(2, content()->fetchRecentPosts(2)->count()); -}); - -test('test mixin() content', function () { - content()->create('foo', []); - content()->create('foo/bar', []); - content()->create('foo/baz', []); - - class FooMixin { - public function foo() { - return function () { - return 'Foo'; - }; - } - - public function bar() { - return function ($val = 'Foo') { - return $val; - }; - } - } - - content()::mixin(new FooMixin()); - - $this->assertEquals('Foo', content()->foo()); - $this->assertEquals('Foo', content()->bar()); - $this->assertEquals('Bar', content()->bar('Bar')); -}); diff --git a/tests/src/flextype/core/Content/Fields/CotentFieldTest.php b/tests/src/flextype/core/Content/Fields/CotentFieldTest.php deleted file mode 100644 index c5040db0..00000000 --- a/tests/src/flextype/core/Content/Fields/CotentFieldTest.php +++ /dev/null @@ -1,107 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test content field for blog', function () { - content()->create('blog', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/blog/content.yaml')->get())); - content()->create('blog/post-1', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/blog/post-1/content.yaml')->get())); - content()->create('blog/post-2', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/blog/post-2/content.yaml')->get())); - - $blog = content()->fetch('blog'); - - $this->assertEquals(13, $blog->count()); -}); - -test('test content field for catalog', function () { - - // Create catalog - content()->create('catalog', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/catalog/content.yaml')->get())); - content()->create('catalog/bikes', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/catalog/bikes/content.yaml')->get())); - content()->create('catalog/bikes/gt', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/catalog/bikes/gt/content.yaml')->get())); - content()->create('catalog/bikes/norco', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/catalog/bikes/norco/content.yaml')->get())); - content()->create('catalog/bikes/foo', ['title' => 'foo']); - content()->create('catalog/bikes/foo/bar', ['title' => 'bar']); - - // Create discounts - content()->create('discounts', ['title' => 'Discounts']); - content()->create('discounts/30-off', ['title' => '30% off', 'category' => 'bikes']); - content()->create('discounts/50-off', ['title' => '50% off', 'category' => 'bikes']); - - // Create banner - content()->create('banner', ['title' => 'Banner']); - - $catalogSingle = content()->fetch('catalog'); - - $this->assertEquals(15, $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 = content()->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 = content()->fetch('catalog', ['collection' => true, 'find' => ['depth' => ['>0', '<4']]]); - $this->assertEquals(5, $catalogLongCollecion->count()); - - $banner = content()->fetch('banner'); - $this->assertEquals('Banner', $banner['title']); - $this->assertEquals('banner', $banner['id']); -}); - -test('test content field for albmus', function () { - content()->create('root', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/root/content.yaml')->get())); - - content()->create('albums', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/root/albums/content.yaml')->get())); - content()->create('albums/category-1', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/root/albums/category-1/content.yaml')->get())); - content()->create('albums/category-1/album-1', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/root/albums/category-1/album-1/content.yaml')->get())); - - content()->create('banners', ['title' => 'Banners']); - content()->create('banners/1', ['title' => 'Banner1']); - content()->create('banners/2', ['title' => 'Banner2']); - - $root = content()->fetch('root'); - - $this->assertEquals(15, $root->count()); -}); - -test('test content field for long nested content', function () { - content()->create('level1', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/level1/content.yaml')->get())); - content()->create('level1/level2', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/level1/level2/content.yaml')->get())); - content()->create('level1/level2/level3', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/level1/level2/level3/content.yaml')->get())); - content()->create('level1/level2/level3/level4', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/level1/level2/level3/level4/content.yaml')->get())); - - $level = content()->fetch('level1'); - - $this->assertEquals(13, $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 () { - content()->create('macroable', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/macroable/content.yaml')->get())); - - content()::macro('fetchExtraData', function ($id, $options) { - return ['id' => $id, 'options' => $options]; - }); - - $macroable = content()->fetch('macroable'); - - $this->assertEquals('table', $macroable['table']['id']); - $this->assertEquals('world', $macroable['table']['options']['hello']); -}); diff --git a/tests/src/flextype/core/Content/Fields/CreatedAtFieldTest.php b/tests/src/flextype/core/Content/Fields/CreatedAtFieldTest.php deleted file mode 100644 index 13c1c1a0..00000000 --- a/tests/src/flextype/core/Content/Fields/CreatedAtFieldTest.php +++ /dev/null @@ -1,19 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test CreatedAtField', function () { - // 1 - content()->create('foo', []); - $created_at = content()->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/src/flextype/core/Content/Fields/CreatedByFieldTest.php b/tests/src/flextype/core/Content/Fields/CreatedByFieldTest.php deleted file mode 100644 index 6a52e5a4..00000000 --- a/tests/src/flextype/core/Content/Fields/CreatedByFieldTest.php +++ /dev/null @@ -1,21 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test CreatedByField', function () { - content()->create('foo', []); - $created_by = content()->fetch('foo')['created_by']; - $this->assertEquals('', $created_by); - - content()->create('bar', ['created_by' => 'Zed']); - $created_by = content()->fetch('bar')['created_by']; - $this->assertEquals('Zed', $created_by); -}); diff --git a/tests/src/flextype/core/Content/Fields/IdFieldTest.php b/tests/src/flextype/core/Content/Fields/IdFieldTest.php deleted file mode 100644 index a6069712..00000000 --- a/tests/src/flextype/core/Content/Fields/IdFieldTest.php +++ /dev/null @@ -1,21 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test IdField', function () { - content()->create('foo', []); - $id = content()->fetch('foo')['id']; - $this->assertEquals('foo', $id); - - content()->create('foo/bar', []); - $id = content()->fetch('foo/bar')['id']; - $this->assertEquals('foo/bar', $id); -}); diff --git a/tests/src/flextype/core/Content/Fields/ModifiedAtFieldTest.php b/tests/src/flextype/core/Content/Fields/ModifiedAtFieldTest.php deleted file mode 100644 index eed96d1a..00000000 --- a/tests/src/flextype/core/Content/Fields/ModifiedAtFieldTest.php +++ /dev/null @@ -1,20 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test ModifiedAtField', function () { - content()->create('foo', []); - - $modified_at = content()->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/src/flextype/core/Content/Fields/ParsersFieldTest.php b/tests/src/flextype/core/Content/Fields/ParsersFieldTest.php deleted file mode 100644 index afaa673e..00000000 --- a/tests/src/flextype/core/Content/Fields/ParsersFieldTest.php +++ /dev/null @@ -1,16 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test ParsersField', function () { - content()->create('bar', ['content' => '[registry_get name="Bar" default="Zed"]', 'parsers' => ['shortcodes' => ['enabled' => true, 'fields' => ['content']]]]); - $this->assertEquals('Zed', content()->fetch('bar')['content']); -}); diff --git a/tests/src/flextype/core/Content/Fields/PublishedAtFieldTest.php b/tests/src/flextype/core/Content/Fields/PublishedAtFieldTest.php deleted file mode 100644 index 90e71539..00000000 --- a/tests/src/flextype/core/Content/Fields/PublishedAtFieldTest.php +++ /dev/null @@ -1,20 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test PublishedAtField', function () { - content()->create('foo', []); - - $published_at = content()->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/src/flextype/core/Content/Fields/PublishedByFieldTest.php b/tests/src/flextype/core/Content/Fields/PublishedByFieldTest.php deleted file mode 100644 index 0ffff30e..00000000 --- a/tests/src/flextype/core/Content/Fields/PublishedByFieldTest.php +++ /dev/null @@ -1,21 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test PublishedByField', function () { - content()->create('foo', []); - $published_by = content()->fetch('foo')['published_by']; - $this->assertEquals('', $published_by); - - content()->create('bar', ['published_by' => 'Zed']); - $published_by = content()->fetch('bar')['published_by']; - $this->assertEquals('Zed', $published_by); -}); diff --git a/tests/src/flextype/core/Content/Fields/RegistryFieldTest.php b/tests/src/flextype/core/Content/Fields/RegistryFieldTest.php deleted file mode 100644 index 607429c9..00000000 --- a/tests/src/flextype/core/Content/Fields/RegistryFieldTest.php +++ /dev/null @@ -1,29 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test RegistryField', function () { - content()->create('registry-root', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/registry-root/content.yaml')->get())); - content()->create('registry-root/level-1', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/registry-root/level-1/content.yaml')->get())); - content()->create('registry-root/level-1/level-2', serializers()->yaml()->decode(filesystem()->file(ROOT_DIR . '/tests/fixtures/entries/content/registry-root/level-1/level-2/content.yaml')->get())); - - $data = content()->fetch('registry-root'); - - $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']); -}); diff --git a/tests/src/flextype/core/Content/Fields/RoutableFieldTest.php b/tests/src/flextype/core/Content/Fields/RoutableFieldTest.php deleted file mode 100644 index f7a784b8..00000000 --- a/tests/src/flextype/core/Content/Fields/RoutableFieldTest.php +++ /dev/null @@ -1,27 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test RoutableField', function () { - registry()->set('flextype.settings.cache.enabled', false); - - content()->create('foo', ['routable' => true]); - $routable = content()->fetch('foo')['routable']; - $this->assertTrue($routable); - - content()->create('bar', []); - $routable = content()->fetch('bar')['routable']; - $this->assertTrue($routable); - - content()->create('zed', ['routable' => false]); - $routable = content()->fetch('zed')['routable']; - $this->assertFalse($routable); -}); diff --git a/tests/src/flextype/core/Content/Fields/SlugFieldTest.php b/tests/src/flextype/core/Content/Fields/SlugFieldTest.php deleted file mode 100644 index 2ae0a52f..00000000 --- a/tests/src/flextype/core/Content/Fields/SlugFieldTest.php +++ /dev/null @@ -1,21 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test SlugField', function () { - content()->create('foo', []); - $slug = content()->fetch('foo')['slug']; - $this->assertEquals('foo', $slug); - - content()->create('bar', []); - $slug = content()->fetch('bar')['slug']; - $this->assertEquals('bar', $slug); -}); diff --git a/tests/src/flextype/core/Content/Fields/UuidFieldTest.php b/tests/src/flextype/core/Content/Fields/UuidFieldTest.php deleted file mode 100644 index 54b0eeb5..00000000 --- a/tests/src/flextype/core/Content/Fields/UuidFieldTest.php +++ /dev/null @@ -1,19 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test UuidField', function () { - content()->create('foo', []); - $uuid = content()->fetch('foo')['uuid']; - $this->assertTrue(v::uuid()->validate($uuid)); -}); diff --git a/tests/src/flextype/core/Content/Fields/VisibilityFieldTest.php b/tests/src/flextype/core/Content/Fields/VisibilityFieldTest.php deleted file mode 100644 index 17eee6f5..00000000 --- a/tests/src/flextype/core/Content/Fields/VisibilityFieldTest.php +++ /dev/null @@ -1,25 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test VisibilityField', function () { - content()->create('foo', []); - $visibility = content()->fetch('foo')['visibility']; - $this->assertEquals('visible', $visibility); - - content()->create('bar', ['visibility' => 'draft']); - $visibility = content()->fetch('bar')['visibility']; - $this->assertEquals('draft', $visibility); - - content()->create('zed', ['visibility' => 'foobar']); - $visibility = content()->fetch('zed')['visibility']; - $this->assertEquals('visible', $visibility); -}); diff --git a/tests/src/flextype/core/Entries/EntriesBlogTest.php b/tests/src/flextype/core/Entries/EntriesBlogTest.php new file mode 100644 index 00000000..14821c48 --- /dev/null +++ b/tests/src/flextype/core/Entries/EntriesBlogTest.php @@ -0,0 +1,10 @@ +directory(PATH['project'] . '/entries')->ensureExists(0755, true); +}); + +afterEach(function () { + filesystem()->directory(PATH['project'] . '/entries')->delete(); +}); + diff --git a/tests/src/flextype/core/Entries/EntriesTest.php b/tests/src/flextype/core/Entries/EntriesTest.php new file mode 100644 index 00000000..7810e6f6 --- /dev/null +++ b/tests/src/flextype/core/Entries/EntriesTest.php @@ -0,0 +1,143 @@ +directory(PATH['project'] . '/entries')->ensureExists(0755, true); +}); + +afterEach(function () { + filesystem()->directory(PATH['project'] . '/entries')->delete(); +}); + +test('create new entry foo', function () { + expect(entries()->create('foo', []))->toBeTrue(); + expect(entries()->create('foo', []))->toBeFalse(); +}); + +test('has entry foo', function () { + expect(entries()->create('foo', []))->toBeTrue(); + expect(entries()->has('foo'))->toBeTrue(); + expect(entries()->has('bar'))->toBeFalse(); +}); + +test('update entry foo', function () { + expect(entries()->create('foo', []))->toBeTrue(); + expect(entries()->update('foo', ['title' => 'Foo']))->toBeTrue(); + expect(entries()->update('bar', ['title' => 'Bar']))->toBeFalse(); +}); + +test('delete entry foo', function () { + expect(entries()->create('foo', []))->toBeTrue(); + expect(entries()->create('foo/bar', []))->toBeTrue(); + expect(entries()->create('foo/zed', []))->toBeTrue(); + + expect(entries()->delete('foo'))->toBeTrue(); + expect(entries()->has('foo'))->toBeFalse(); +}); + +test('move entry foo into bar', function () { + expect(entries()->create('foo', []))->toBeTrue(); + expect(entries()->create('bar', []))->toBeTrue(); + + expect(entries()->move('foo', 'bar/foo'))->toBeTrue(); + expect(entries()->has('bar/foo'))->toBeTrue(); +}); + +test('copy entry foo into bar', function () { + expect(entries()->create('foo', []))->toBeTrue(); + expect(entries()->create('bar', []))->toBeTrue(); + + expect(entries()->copy('foo', 'bar/foo'))->toBeTrue(); + expect(entries()->has('bar/foo'))->toBeTrue(); + expect(entries()->has('foo'))->toBeTrue(); +}); + +test('fetch entry foo', function () { + expect(entries()->create('foo', []))->toBeTrue(); + + expect(entries()->fetch('foo'))->toBeInstanceOf(Arrays::class); + expect(count(entries()->fetch('foo')->toArray()) > 0)->toBeTrue(); +}); + +test('get file location for entry foo', function () { + expect(entries()->create('foo', []))->toBeTrue(); + + expect(entries()->getFileLocation('foo'))->toContain('/foo/entry.yaml'); +}); + +test('get directory location for entry foo', function () { + expect(entries()->create('foo', []))->toBeTrue(); + + expect(entries()->getDirectoryLocation('foo'))->toContain('/foo'); +}); + +test('get cache ID for entry foo with cache enabled false', function () { + registry()->set('flextype.settings.cache.enabled', false); + expect(entries()->create('foo', []))->toBeTrue(); + expect(entries()->getCacheID('foo'))->toBeEmpty(); +}); + +test('get cache ID for entry foo with cache enabled true', function () { + registry()->set('flextype.settings.cache.enabled', true); + expect(entries()->create('foo', []))->toBeTrue(); + expect(strlen(entries()->getCacheID('foo')))->toEqual(32); +}); + +test('registry for entry foo', function() { + entries()->registry()->set('foo', ['title' => 'Foo']); + expect(entries()->registry()->get('foo.title'))->toEqual('Foo'); + entries()->registry()->set('bar', ['title' => 'Bar']); + expect(entries()->registry()->get('bar.title'))->toEqual('Bar'); + + expect(entries()->registry()->has('foo.title'))->toBeTrue(); + expect(entries()->registry()->has('bar.title'))->toBeTrue(); + + entries()->registry()->delete('foo.title'); + entries()->registry()->delete('bar.title'); + + expect(entries()->registry()->has('foo.title'))->toBeFalse(); + expect(entries()->registry()->has('bar.title'))->toBeFalse(); +}); + +test('macro for entries', function() { + expect(entries()->create('foo', []))->toBeTrue(); + expect(entries()->create('foo/bar', []))->toBeTrue(); + expect(entries()->create('foo/zed', []))->toBeTrue(); + + entries()::macro('fetchRecentEntries', function(int $limit = 1) { + return entries() + ->fetch('foo', ['collection' => true]) + ->limit($limit); + }); + + expect(entries()->fetchRecentEntries()->count())->toEqual(1); + expect(entries()->fetchRecentEntries(1)->count())->toEqual(1); + expect(entries()->fetchRecentEntries(2)->count())->toEqual(2); +}); + +test('mixin for entries', function() { + class FooMixin { + public function foo() { + return function () { + return 'Foo'; + }; + } + + public function bar() { + return function ($val = 'Foo') { + return $val; + }; + } + } + + entries()::mixin(new FooMixin()); + + expect(entries()->foo())->toEqual('Foo'); + expect(entries()->bar())->toEqual('Foo'); + expect(entries()->bar('Bar'))->toEqual('Bar'); +}); + +test('get entries options', function () { + expect(entries()->getOptions())->toBeArray(); +}); \ No newline at end of file diff --git a/tests/src/flextype/core/FindHelperTest.php b/tests/src/flextype/core/FindHelperTest.php deleted file mode 100644 index 3ea86c92..00000000 --- a/tests/src/flextype/core/FindHelperTest.php +++ /dev/null @@ -1,21 +0,0 @@ -directory(PATH['project'] . '/entries/content')->create(0755, true); - content()->create('foo', []); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - -test('test find() method', function () { - $this->assertTrue(find(PATH['project'] . '/entries/content')->hasResults()); - $this->assertTrue(find(PATH['project'] . '/entries/content', [])->hasResults()); - $this->assertTrue(find(PATH['project'] . '/entries/content', [], 'files')->hasResults()); - $this->assertTrue(find(PATH['project'], [], 'directories')->hasResults()); -}); diff --git a/tests/src/flextype/core/FlextypeTest.php b/tests/src/flextype/core/FlextypeTest.php index 876ce72f..2d6fff05 100644 --- a/tests/src/flextype/core/FlextypeTest.php +++ b/tests/src/flextype/core/FlextypeTest.php @@ -6,14 +6,6 @@ use Flextype\Flextype; use Flextype\Content\Content; use Atomastic\Strings\Strings; -beforeEach(function() { - filesystem()->directory(PATH['project'] . '/entries/content')->create(); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); -}); - test('test getVersion() method', function () { $this->assertTrue(!Strings::create(Flextype::getInstance()->getVersion())->isEmpty()); }); diff --git a/tests/src/flextype/core/HelpersTest.php b/tests/src/flextype/core/HelpersTest.php deleted file mode 100644 index 9d178b07..00000000 --- a/tests/src/flextype/core/HelpersTest.php +++ /dev/null @@ -1,92 +0,0 @@ -assertSame(flextype(), Flextype::getInstance()); - expect(flextype())->toBeInstanceOf(Flextype::class); -}); - -test('test app() helper', function () { - $this->assertSame(app(), Flextype::getInstance()->app()); - expect(app())->toBeInstanceOf(App::class); -}); - -test('test container() helper', function () { - $this->assertSame(container(), Flextype::getInstance()->container()); - $this->assertSame(container(), Flextype::getInstance()->app()->getContainer()); - expect(container())->toBeInstanceOf(Container::class); -}); - -test('test emitter() helper', function () { - $this->assertSame(emitter(), Flextype::getInstance()->container()->get('emitter')); - expect(emitter())->toBeInstanceOf(Emitter::class); -}); - -test('test registry() helper', function () { - $this->assertSame(registry(), Flextype::getInstance()->container()->get('registry')); - expect(registry())->toBeInstanceOf(Registry::class); -}); - -test('test session() helper', function () { - $this->assertSame(session(), Flextype::getInstance()->container()->get('session')); - expect(session())->toBeInstanceOf(Session::class); -}); - -test('test cache() helper', function () { - $this->assertSame(cache(), Flextype::getInstance()->container()->get('cache')); - expect(cache())->toBeInstanceOf(Cache::class); -}); - -test('test media() helper', function () { - $this->assertSame(media(), Flextype::getInstance()->container()->get('media')); - expect(media())->toBeInstanceOf(Media::class); -}); - -test('test content() helper', function () { - $this->assertSame(content(), Flextype::getInstance()->container()->get('content')); - expect(content())->toBeInstanceOf(Content::class); -}); - -test('test logger() helper', function () { - $this->assertSame(logger(), Flextype::getInstance()->container()->get('logger')); - expect(logger())->toBeInstanceOf(Logger::class); -}); - -test('test parsers() helper', function () { - $this->assertSame(parsers(), Flextype::getInstance()->container()->get('parsers')); - expect(parsers())->toBeInstanceOf(Parsers::class); -}); - -test('test serializers() helper', function () { - $this->assertSame(serializers(), Flextype::getInstance()->container()->get('serializers')); - expect(serializers())->toBeInstanceOf(Serializers::class); -}); - -test('test csrf() helper', function () { - $this->assertSame(csrf(), Flextype::getInstance()->container()->get('csrf')); - expect(csrf())->toBeInstanceOf(Csrf::class); -}); - -test('test slugify() helper', function () { - $this->assertSame(slugify(), Flextype::getInstance()->container()->get('slugify')); - expect(slugify())->toBeInstanceOf(Slugify::class); -}); \ No newline at end of file diff --git a/tests/src/flextype/core/Media/MediaTest.php b/tests/src/flextype/core/Media/MediaTest.php deleted file mode 100644 index c2b15983..00000000 --- a/tests/src/flextype/core/Media/MediaTest.php +++ /dev/null @@ -1,32 +0,0 @@ -directory(PATH['project'] . '/entries/media')->ensureExists(0755, true); - filesystem()->directory(PATH['project'] . '/uploads/media')->ensureExists(0755, true); -}); - -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/media')->delete(); - filesystem()->directory(PATH['project'] . '/uploads/media')->delete(); -}); - -test('test create() method', function () { - $this->assertTrue(media()->create('foo')); - $this->assertFalse(media()->create('foo')); -}); - -test('test move() method', function () { - $this->assertTrue(media()->create('foo')); - $this->assertTrue(media()->move('foo', 'bar')); -}); - -test('test copy() method', function () { - $this->assertTrue(media()->create('foo')); - $this->assertTrue(media()->create('bar')); - $this->assertTrue(media()->copy('foo', 'bar')); -}); - -test('test delete() method', function () { - $this->assertTrue(media()->create('foo')); - $this->assertTrue(media()->delete('foo')); -}); \ No newline at end of file diff --git a/tests/src/flextype/core/Parsers/Shortcodes/EntriesShortcodeTest.php b/tests/src/flextype/core/Parsers/Shortcodes/EntriesShortcodeTest.php index 32636385..4be6d1e7 100644 --- a/tests/src/flextype/core/Parsers/Shortcodes/EntriesShortcodeTest.php +++ b/tests/src/flextype/core/Parsers/Shortcodes/EntriesShortcodeTest.php @@ -3,15 +3,15 @@ declare(strict_types=1); beforeEach(function() { - filesystem()->directory(PATH['project'] . '/entries/content')->create(); + filesystem()->directory(PATH['project'] . '/entries')->ensureExists(0755, true); }); -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); +afterEach(function () { + filesystem()->directory(PATH['project'] . '/entries')->delete(); }); -test('test content_fetch shortcode', function () { - $this->assertTrue(content()->create('foo', ['title' => 'Foo'])); - $this->assertEquals('Foo', parsers()->shortcodes()->parse('[content_fetch id="foo" field="title"]')); - $this->assertEquals('Bar', parsers()->shortcodes()->parse('[content_fetch id="foo" field="bar" default="Bar"]')); +test('test entries_fetch shortcode', function () { + $this->assertTrue(entries()->create('foo', ['title' => 'Foo'])); + $this->assertEquals('Foo', parsers()->shortcodes()->parse('[entries_fetch id="foo" field="title"]')); + $this->assertEquals('Bar', parsers()->shortcodes()->parse('[entries_fetch id="foo" field="bar" default="Bar"]')); }); diff --git a/tests/src/flextype/core/Parsers/Shortcodes/RawShortcodeTest.php b/tests/src/flextype/core/Parsers/Shortcodes/RawShortcodeTest.php index 964173d8..ee2bccbf 100644 --- a/tests/src/flextype/core/Parsers/Shortcodes/RawShortcodeTest.php +++ b/tests/src/flextype/core/Parsers/Shortcodes/RawShortcodeTest.php @@ -3,15 +3,15 @@ declare(strict_types=1); beforeEach(function() { - filesystem()->directory(PATH['project'] . '/entries/content')->create(); + filesystem()->directory(PATH['project'] . '/entries')->ensureExists(0755, true); }); -afterEach(function (): void { - filesystem()->directory(PATH['project'] . '/entries/content')->delete(); +afterEach(function () { + filesystem()->directory(PATH['project'] . '/entries')->delete(); }); -test('test raw shortcode', function () { - $this->assertTrue(content()->create('foo', ['title' => 'Foo'])); - $this->assertEquals('[content_fetch id="foo" field="title"]', - parsers()->shortcodes()->parse('[raw][content_fetch id="foo" field="title"][/raw]')); +test('test raw shortcode', function () { + $this->assertTrue(entries()->create('foo', ['title' => 'Foo'])); + $this->assertEquals('[entries_fetch id="foo" field="title"]', + parsers()->shortcodes()->parse('[raw][entries_fetch id="foo" field="title"][/raw]')); });