Skip to content

Commit

Permalink
Tests for User type + Refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
iGusev committed Jun 29, 2015
1 parent 3c06703 commit b339b98
Show file tree
Hide file tree
Showing 3 changed files with 124 additions and 10 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,5 @@ crashlytics-build.properties

# Composer
vendor/

/*.php
20 changes: 10 additions & 10 deletions src/Types/User.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ class User extends BaseType implements TypeInterface
*
* @var string
*/
protected $first_name;
protected $firstName;

/**
* Optional. User‘s or bot’s last name
*
* @var string
*/
protected $last_name;
protected $lastName;

/**
* Optional. User‘s or bot’s username
Expand All @@ -54,15 +54,15 @@ class User extends BaseType implements TypeInterface
*/
public function getFirstName()
{
return $this->first_name;
return $this->firstName;
}

/**
* @param string $first_name
* @param string $firstName
*/
public function setFirstName($first_name)
public function setFirstName($firstName)
{
$this->first_name = $first_name;
$this->firstName = $firstName;
}

/**
Expand Down Expand Up @@ -90,15 +90,15 @@ public function setId($id)
*/
public function getLastName()
{
return $this->last_name;
return $this->lastName;
}

/**
* @param string $last_name
* @param string $lastName
*/
public function setLastName($last_name)
public function setLastName($lastName)
{
$this->last_name = $last_name;
$this->lastName = $lastName;
}

/**
Expand Down
112 changes: 112 additions & 0 deletions tests/UserTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
<?php

namespace TelegramBot\Api\Test;

use TelegramBot\Api\Types\User;

class UserTest extends \PHPUnit_Framework_TestCase
{
public function testSetDuration()
{
$item = new User();
$item->setId(1);
$this->assertAttributeEquals(1, 'id', $item);
}

public function testGetDuration()
{
$item = new User();
$item->setId(1);
$this->assertEquals(1, $item->getId());
}

public function testSetFirstName()
{
$item = new User();
$item->setFirstName('Ilya');
$this->assertAttributeEquals('Ilya', 'firstName', $item);
}

public function testGetFirstName()
{
$item = new User();
$item->setFirstName('Ilya');
$this->assertEquals('Ilya', $item->getFirstName());
}

public function testSetLastName()
{
$item = new User();
$item->setLastName('Gusev');
$this->assertAttributeEquals('Gusev', 'lastName', $item);
}

public function testGetLastName()
{
$item = new User();
$item->setLastName('Gusev');
$this->assertEquals('Gusev', $item->getLastName());
}

public function testSetUsername()
{
$item = new User();
$item->setUsername('iGusev');
$this->assertAttributeEquals('iGusev', 'username', $item);
}

public function testGetUsername()
{
$item = new User();
$item->setUsername('iGusev');
$this->assertEquals('iGusev', $item->getUsername());
}

/**
* @expectedException \TelegramBot\Api\InvalidArgumentException
*/
public function testSetIdException()
{
$item = new User();
$item->setId('s');
}

public function testFromResponse()
{
$user = User::fromResponse(array(
'first_name' => 'Ilya',
'last_name' => 'Gusev',
'id' => 123456,
'username' => 'iGusev'
));
$this->assertInstanceOf('\TelegramBot\Api\Types\User', $user);
$this->assertEquals(123456, $user->getId());
$this->assertEquals('Ilya', $user->getFirstName());
$this->assertEquals('Gusev', $user->getLastName());
$this->assertEquals('iGusev', $user->getUsername());
}

/**
* @expectedException \TelegramBot\Api\InvalidArgumentException
*/
public function testFromResponseException1()
{
$user = User::fromResponse(array(
'last_name' => 'Gusev',
'id' => 123456,
'username' => 'iGusev'
));
}
/**
* @expectedException \TelegramBot\Api\InvalidArgumentException
*/
public function testFromResponseException2()
{
$user = User::fromResponse(array(
'first_name' => 'Ilya',
'last_name' => 'Gusev',
'username' => 'iGusev'
));
}

}

0 comments on commit b339b98

Please sign in to comment.