DonationHandlerTest.php 1.56 KB
Newer Older
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
<?php

namespace LQDN\Tests\Functional\Handler;

use LQDN\Command\DonationInvalidateCommand;
use LQDN\Command\DonationResetPdfCommand;
use LQDN\Command\DonationValidateCommand;
use LQDN\Tests\Functional\FunctionalTest;

class DonationHandlerTest extends FunctionalTest
{
    public function testDonationValidation()
    {
        $this->assertEquals(1, $this->getDonation(1)['status']);
        $this->container['command_handler']->handle(new DonationInvalidateCommand(1));
        $this->assertEquals(0, $this->getDonation(1)['status']);
        $this->container['command_handler']->handle(new DonationValidateCommand(1));
        $this->assertEquals(1, $this->getDonation(1)['status']);
    }

    public function testDonationResetPdf()
    {
        $this->assertEquals('pdf', $this->getDonation(1)['pdf']);
        $this->container['command_handler']->handle(new DonationResetPdfCommand(1));
        $this->assertEquals('', $this->getDonation(1)['pdf']);
    }

28 29 30 31 32 33 34

    private function testDonationByUser()
    {
        $this->assertEquals(2, count($this->getDonationByUser(2)));
        $this->assertEquals(2, $this->getDonationByUser(2)[0]['user_id']);
    }

35 36 37 38 39 40 41 42 43
    /**
     * Retrieve a donation
     *
     * @return []
     */
    private function getDonation($id)
    {
        return $this->container['db']->fetchAssoc("SELECT * FROM dons WHERE id = $id");
    }
44 45 46 47 48 49 50 51 52 53

    /**
     * Retrieve donations by userid
     *
     * @return []
     */
    private function getDonationByUser($uid)
    {
        return $this->container['db']->fetchAll("SELECT * FROM dons WHERE user_id = $uid");
    }
54
}