diff --git a/phpunit.xml b/phpunit.xml index 623ad38..9d9e656 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -33,5 +33,7 @@ + + diff --git a/tests/Unit/WebhookTest.php b/tests/Unit/WebhookTest.php index 0e1d293..d2f2ca3 100644 --- a/tests/Unit/WebhookTest.php +++ b/tests/Unit/WebhookTest.php @@ -4,8 +4,11 @@ use Illuminate\Support\Facades\Notification; use Statamic\Entries\Collection; +use Statamic\Facades\Blueprint; use Statamic\Facades\Entry; +use Statamic\Facades\File; use Statamic\Facades\User; +use Statamic\Facades\YAML; use TransformStudios\Uptime\Notifications\AlertCleared; use TransformStudios\Uptime\Tests\TestCase; @@ -71,7 +74,27 @@ public function sends_alert_cleared_notification() $user->save(); - $collection = (new Collection)->handle('sites'); + $blueprint = Blueprint::makeFromFields(YAML::file(__DIR__.'/../__fixtures__/blueprints/sites.yaml')->parse()) + ->setHandle('sites'); + $userBlueprint = Blueprint::makeFromFields(YAML::file(__DIR__.'/../__fixtures__/blueprints/user.yaml')->parse()) + ->setHandle('user'); + Blueprint::shouldReceive('in')->with('collections/sites')->andReturn(collect(['sites' => $blueprint])); + Blueprint::shouldReceive('in')->with('users')->andReturn(collect(['user' => $userBlueprint])); + + // Blueprint::setDirectory(__DIR__.'/../__fixtures__/blueprints/'); + // // $blueprint = Blueprint::make('sites') + // // ->setContents(YAML::file(__DIR__.'/../__fixtures__/blueprints/sites.yaml')->parse()); + + // // $blueprint->save(); + + // copy( + // __DIR__.'/../__fixtures__/blueprints/sites.yaml', + // '../__fixtures__/blueprints/collections/sites/sites.yaml' + // ); + // dd('what'); + $collection = (new Collection) + ->handle('sites'); + // ->entryBlueprint('sites'); $collection->save(); diff --git a/tests/__fixtures__/blueprints/sites.yaml b/tests/__fixtures__/blueprints/sites.yaml new file mode 100644 index 0000000..552cda4 --- /dev/null +++ b/tests/__fixtures__/blueprints/sites.yaml @@ -0,0 +1,45 @@ +title: Sites +sections: + main: + display: Main + fields: + - + handle: title + field: + type: text + required: true + validate: + - required + - + handle: content + field: + type: markdown + localizable: true + - + handle: users + field: + mode: select + display: Users + type: users + icon: users + listable: hidden + - + handle: uptime_tag + field: + max_items: 1 + mode: select + display: 'Uptime Tag' + type: uptime_tag + icon: uptime_tag + listable: hidden + sidebar: + display: Sidebar + fields: + - + handle: slug + field: + type: slug + required: true + localizable: true + validate: + - required diff --git a/tests/__fixtures__/blueprints/user.yaml b/tests/__fixtures__/blueprints/user.yaml new file mode 100644 index 0000000..03969ac --- /dev/null +++ b/tests/__fixtures__/blueprints/user.yaml @@ -0,0 +1,29 @@ +sections: + main: + display: Main + fields: + - + handle: email + field: + type: text + display: 'Email address' + width: 33 + - + handle: roles + field: + type: user_roles + width: 33 + - + handle: name + field: + type: text + display: 'Name' + width: 33 + listable: true + input_type: text + antlers: false + - + handle: content + field: + type: textarea + display: Biography