From daebd59c4fdb043edef040be6d84400565b50810 Mon Sep 17 00:00:00 2001 From: Awilum Date: Wed, 9 Dec 2020 10:45:29 +0300 Subject: [PATCH] feat(tests): add tests for Entries API mixin() --- tests/Foundation/Entries/EntriesTest.php | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/Foundation/Entries/EntriesTest.php b/tests/Foundation/Entries/EntriesTest.php index a2515fca..e7591d90 100644 --- a/tests/Foundation/Entries/EntriesTest.php +++ b/tests/Foundation/Entries/EntriesTest.php @@ -136,3 +136,29 @@ test('test macro() entry', function () { $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')); +});