Initial project structure with Slim skeleton
This commit is contained in:
		
							
								
								
									
										59
									
								
								tests/Domain/User/UserTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								tests/Domain/User/UserTest.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
<?php
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Tests\Domain\User;
 | 
			
		||||
 | 
			
		||||
use App\Domain\User\User;
 | 
			
		||||
use Tests\TestCase;
 | 
			
		||||
 | 
			
		||||
class UserTest extends TestCase
 | 
			
		||||
{
 | 
			
		||||
    public function userProvider()
 | 
			
		||||
    {
 | 
			
		||||
        return [
 | 
			
		||||
            [1, 'bill.gates', 'Bill', 'Gates'],
 | 
			
		||||
            [2, 'steve.jobs', 'Steve', 'Jobs'],
 | 
			
		||||
            [3, 'mark.zuckerberg', 'Mark', 'Zuckerberg'],
 | 
			
		||||
            [4, 'evan.spiegel', 'Evan', 'Spiegel'],
 | 
			
		||||
            [5, 'jack.dorsey', 'Jack', 'Dorsey'],
 | 
			
		||||
        ];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @dataProvider userProvider
 | 
			
		||||
     * @param int    $id
 | 
			
		||||
     * @param string $username
 | 
			
		||||
     * @param string $firstName
 | 
			
		||||
     * @param string $lastName
 | 
			
		||||
     */
 | 
			
		||||
    public function testGetters(int $id, string $username, string $firstName, string $lastName)
 | 
			
		||||
    {
 | 
			
		||||
        $user = new User($id, $username, $firstName, $lastName);
 | 
			
		||||
 | 
			
		||||
        $this->assertEquals($id, $user->getId());
 | 
			
		||||
        $this->assertEquals($username, $user->getUsername());
 | 
			
		||||
        $this->assertEquals($firstName, $user->getFirstName());
 | 
			
		||||
        $this->assertEquals($lastName, $user->getLastName());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @dataProvider userProvider
 | 
			
		||||
     * @param int    $id
 | 
			
		||||
     * @param string $username
 | 
			
		||||
     * @param string $firstName
 | 
			
		||||
     * @param string $lastName
 | 
			
		||||
     */
 | 
			
		||||
    public function testJsonSerialize(int $id, string $username, string $firstName, string $lastName)
 | 
			
		||||
    {
 | 
			
		||||
        $user = new User($id, $username, $firstName, $lastName);
 | 
			
		||||
 | 
			
		||||
        $expectedPayload = json_encode([
 | 
			
		||||
            'id' => $id,
 | 
			
		||||
            'username' => $username,
 | 
			
		||||
            'firstName' => $firstName,
 | 
			
		||||
            'lastName' => $lastName,
 | 
			
		||||
        ]);
 | 
			
		||||
 | 
			
		||||
        $this->assertEquals($expectedPayload, json_encode($user));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user