summaryrefslogtreecommitdiff
path: root/tests/MetaboxTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/MetaboxTest.php')
-rw-r--r--tests/MetaboxTest.php65
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/MetaboxTest.php b/tests/MetaboxTest.php
new file mode 100644
index 0000000..d5a27a3
--- /dev/null
+++ b/tests/MetaboxTest.php
@@ -0,0 +1,65 @@
+<?php
+
+use PHPUnit\Framework\TestCase;
+use PostTypes\Metabox;
+use PostTypes\MetaboxField;
+
+class MetaboxTest extends TestCase
+{
+ /**
+ * @var Metabox
+ */
+ public $metabox;
+
+ /**
+ * @var MetaboxField
+ */
+ public $field;
+
+ /**
+ * @inheritDoc
+ */
+ protected function setUp(): void
+ {
+ $this->metabox = new Metabox('Test Metabox');
+ $this->field = new MetaboxField('Test Field');
+ }
+
+ /**
+ * @test
+ */
+ public function hasGroupKeyOnInstantiation()
+ {
+ $this->assertEquals('group_test_metabox', $this->metabox->key);
+ }
+
+ /**
+ * @test
+ */
+ public function assignsPostTypeOnce()
+ {
+ $this->metabox->posttype(['post', 'page']);
+
+ $expectedPostTypes = [
+ 'post' => 'post',
+ 'page' => 'page',
+ ];
+
+ $this->assertEquals($expectedPostTypes, $this->metabox->posttypes);
+
+ $this->metabox->posttype('post');
+
+ $this->assertEquals($expectedPostTypes, $this->metabox->posttypes);
+ }
+
+ /**
+ * @test
+ */
+ public function modifiesAndHoldsPassedField()
+ {
+ $this->metabox->field($this->field);
+
+ $this->assertEquals($this->field->parent, $this->metabox->key);
+ $this->assertEquals($this->metabox->fields[$this->field->key], $this->field);
+ }
+}