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); } /** * @test */ public function addsMultipleFieldsAsArray() { $fields = [ $this->field, $field2 = (new MetaboxField('field_2')), ]; $this->metabox->field($fields); $expected = [ $this->field->key => $this->field, $field2->key => $field2, ]; $this->assertEquals($expected, $this->metabox->fields); } }