diff --git a/contact.php b/contact.php index 801a973..68e57a1 100644 --- a/contact.php +++ b/contact.php @@ -1,47 +1,40 @@ - setPlace('TITEL', 'Email verzonden'); - $cTPL -> setPlace('CONTENT', 'Je email is met succes verzonden. Wij proberen zo snel mogelijk reactie te geven'); - } - else - { - $cTPL -> setPlace('TITEL', 'Fout met database'); - $cTPL -> setPlace('CONTENT', 'Door een fout met de database is je email niet verzonden.'); - } -} -else -{ - $cTPL -> setPlace('TITEL', 'Contact'); - $cTPL -> setFile('CONTENT', 'Templates/contact.tpl'); -} - -$cTPL -> show(); -?> \ No newline at end of file +setPlace('TITEL', 'Email verzonden'); + $cTPL->setPlace('CONTENT', 'Je email is met succes verzonden. Wij proberen zo snel mogelijk reactie te geven'); + } else { + $cTPL->setPlace('TITEL', 'Fout met database'); + $cTPL->setPlace('CONTENT', 'Door een fout met de database is je email niet verzonden.'); + } +} else { + $cTPL->setPlace('TITEL', 'Contact'); + $cTPL->setFile('CONTENT', 'Templates/contact.tpl'); +} + +$cTPL->show(); diff --git a/tests/Pages/ContactTest.php b/tests/Pages/ContactTest.php new file mode 100644 index 0000000..107bf21 --- /dev/null +++ b/tests/Pages/ContactTest.php @@ -0,0 +1,112 @@ +visitPage(__DIR__ . '/../../contact.php'); + + $this->assertContains( + 'Let op: ALs je een vraag hebt, zet er dan een email adres bij. Anders kunnen wij niet antwoorden:', + $page + ); + } + + /** @test */ + public function it_stores_a_valid_email() + { + $page = $this->visitPage( + __DIR__ . '/../../contact.php', + [], + [ + 'titel' => 'Hello!', + 'email' => 'example@example.com', + 'bericht' => 'Hello, from me!' + ] + ); + + $this->assertContains('Email verzonden', $page); + $this->assertDatabaseHas('mail', [ + 'titel' => 'Hello!', + 'email' => 'example@example.com', + 'bericht' => 'Hello, from me!', + 'gelezen' => 0 + ]); + } + + /** @test */ + public function it_shows_contact_form_when_no_title_was_provided() + { + $page = $this->visitPage( + __DIR__ . '/../../contact.php', + [], + [ + 'email' => 'example@example.com', + 'bericht' => 'Hello, from me!' + ] + ); + + $this->assertContains( + 'Let op: ALs je een vraag hebt, zet er dan een email adres bij. Anders kunnen wij niet antwoorden:', + $page + ); + $this->assertDatabaseMissing('mail', [ + 'titel' => '', + 'email' => 'example@example.com', + 'bericht' => 'Hello, from me!', + 'gelezen' => 0 + ]); + } + + /** @test */ + public function it_shows_contact_form_when_no_email_was_provided() + { + $page = $this->visitPage( + __DIR__ . '/../../contact.php', + [], + [ + 'titel' => 'Hello!', + 'bericht' => 'Hello, from me!' + ] + ); + + $this->assertContains( + 'Let op: ALs je een vraag hebt, zet er dan een email adres bij. Anders kunnen wij niet antwoorden:', + $page + ); + $this->assertDatabaseMissing('mail', [ + 'titel' => 'Hello!', + 'bericht' => 'Hello, from me!', + 'gelezen' => 0 + ]); + } + + /** @test */ + public function it_shows_contact_form_when_no_body_was_provided() + { + $page = $this->visitPage( + __DIR__ . '/../../contact.php', + [], + [ + 'titel' => 'Hello!', + 'email' => 'example@example.com' + ] + ); + + $this->assertContains( + 'Let op: ALs je een vraag hebt, zet er dan een email adres bij. Anders kunnen wij niet antwoorden:', + $page + ); + $this->assertDatabaseMissing('mail', [ + 'titel' => 'Hello!', + 'email' => 'example@example.com', + 'bericht' => '', + 'gelezen' => 0 + ]); + } +}