Completed
Push — master ( 897b5a...5205fa )
by Shcherbak
44:54 queued 29:47
created

CheckboxTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 66
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 4
c 1
b 1
f 0
lcom 1
cbo 3
dl 0
loc 66
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
B testUncheckedSubmit() 0 24 1
A testCheckedSubmit() 0 16 1
A testRender() 0 5 1
A testInvalidValue() 0 7 1
1
<?php
2
3
  namespace Tests\Fiv\Form\Element;
4
5
  use Fiv\Form\Element\Checkbox;
6
  use Fiv\Form\Form;
7
8
  /**
9
   *
10
   */
11
  class CheckboxTest extends \PHPUnit_Framework_TestCase {
12
13
14
    public function testUncheckedSubmit() {
15
      $form = new Form();
16
      $form->setName('test_form');
17
      $checkbox = $form->checkbox('send_emails')->check();
18
      $this->assertEquals(1, $checkbox->getValue());
19
      $this->assertTrue($checkbox->isChecked());
20
21
      // use unchecked checkbox
22
      $form->setData([
23
        'test_form' => 1,
24
      ]);
25
26
27
      $this->assertEquals(0, $checkbox->getValue());
28
29
30
      $form->setData([
31
        'test_form' => 1,
32
        'send_emails' => 0,
33
      ]);
34
35
      $this->assertEquals(1, $checkbox->getValue());
36
37
    }
38
39
40
    public function testCheckedSubmit() {
41
      $form = new Form();
42
      $form->setName('test_form');
43
      $checkbox = $form->checkbox('send_emails')->unCheck();
44
      $this->assertEquals(0, $checkbox->getValue());
45
      $this->assertFalse($checkbox->isChecked());
46
47
      // use unchecked checkbox
48
      $form->setData([
49
        'test_form' => 1,
50
        'send_emails' => 0, // any value
51
      ]);
52
53
      $this->assertEquals(1, $checkbox->getValue());
54
      $this->assertTrue($checkbox->isChecked());
55
    }
56
57
58
    public function testRender() {
59
      $checkbox = new Checkbox();
60
      $checkbox->setName('send_emails');
61
      $this->assertContains('<input type="checkbox" name="send_emails" value="0" ', $checkbox->render());
62
    }
63
64
65
    /**
66
     * @expectedException \InvalidArgumentException
67
     */
68
    public function testInvalidValue() {
69
      $checkbox = new Checkbox();
70
      $this->assertFalse($checkbox->isChecked());
71
72
      $checkbox->setValue(4);
73
74
    }
75
76
  }
77