Skip to content

Commit 45c3bc5

Browse files
committed
update
1 parent 82537e5 commit 45c3bc5

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

tests/Forms/ReadmeFormTest.php

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,79 @@ public function testRenderBulmaForm(): void
6666
];
6767
$this->assertEquals(implode("\n", $lines), $form->toString(true, false));
6868
}
69+
70+
public function testValidateForm(): void
71+
{
72+
E::$style = 'bulma';
73+
$form = E::form([
74+
E::field(E::text('username'), E::label('Username'), [V::required('Username is required')]),
75+
E::field(E::password('password'), E::label('Password')),
76+
E::field(E::submit('Login')),
77+
]);
78+
$form->fill(['username' => '', 'password' => '']);
79+
$form->validate();
80+
$lines = [
81+
'<form method="post">',
82+
' <div class="field">',
83+
' <label class="label" for="username">Username</label>',
84+
' <div class="control">',
85+
' <input id="username" class="input is-danger" type="text" name="username" value=""/>',
86+
' </div>',
87+
' <p class="help is-danger">Username is required</p>',
88+
' </div>',
89+
' <div class="field">',
90+
' <label class="label" for="password">Password</label>',
91+
' <div class="control">',
92+
' <input id="password" class="input" type="password" name="password" value=""/>',
93+
' </div>',
94+
' </div>',
95+
' <div class="field">',
96+
' <div class="control">',
97+
' <input class="button is-primary" type="submit" value="Login"/>',
98+
' </div>',
99+
' </div>',
100+
'</form>',
101+
];
102+
$this->assertEquals(implode("\n", $lines), $form->toString(true, false));
103+
}
104+
105+
public function testAddErrorsForm(): void
106+
{
107+
E::$style = 'bulma';
108+
$form = E::form([
109+
E::field(E::text('username'), E::label('Username'), [V::required('Username is required')]),
110+
E::field(E::password('password'), E::label('Password')),
111+
E::field(E::submit('Login')),
112+
]);
113+
$form->fill(['username' => 'test', 'password' => 'test']);
114+
$form->validate();
115+
$form->addErrors([
116+
'username' => 'Invalid username/password combination',
117+
'password' => 'Invalid username/password combination',
118+
]);
119+
$lines = [
120+
'<form method="post">',
121+
' <div class="field">',
122+
' <label class="label" for="username">Username</label>',
123+
' <div class="control">',
124+
' <input id="username" class="input is-danger" type="text" name="username" value="test"/>',
125+
' </div>',
126+
' <p class="help is-danger">Invalid username/password combination</p>',
127+
' </div>',
128+
' <div class="field">',
129+
' <label class="label" for="password">Password</label>',
130+
' <div class="control">',
131+
' <input id="password" class="input is-danger" type="password" name="password" value="test"/>',
132+
' </div>',
133+
' <p class="help is-danger">Invalid username/password combination</p>',
134+
' </div>',
135+
' <div class="field">',
136+
' <div class="control">',
137+
' <input class="button is-primary" type="submit" value="Login"/>',
138+
' </div>',
139+
' </div>',
140+
'</form>',
141+
];
142+
$this->assertEquals(implode("\n", $lines), $form->toString(true, false));
143+
}
69144
}

0 commit comments

Comments
 (0)