summaryrefslogtreecommitdiff
path: root/tests/MetaboxTest.php
blob: d5a27a3c02d5b7a5807917803559eb9cfb787e52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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);
    }
}