mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 10:47:00 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			135 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| use League\FactoryMuffin\Facade as f;
 | |
| use Mockery as m;
 | |
| 
 | |
| /**
 | |
|  * Class ProfileControllerTest
 | |
|  *
 | |
|  * @SuppressWarnings(PHPMD.TooManyMethods)
 | |
|  * @SuppressWarnings(PHPMD.CamelCasePropertyName)
 | |
|  */
 | |
| class ProfileControllerTest extends TestCase
 | |
| {
 | |
|     protected $_user;
 | |
| 
 | |
|     public function setUp()
 | |
|     {
 | |
|         parent::setUp();
 | |
|         Artisan::call('migrate');
 | |
|         Artisan::call('db:seed');
 | |
|         $this->_user = m::mock('User', 'Eloquent');
 | |
| 
 | |
|     }
 | |
| 
 | |
|     public function tearDown()
 | |
|     {
 | |
|         m::close();
 | |
|     }
 | |
| 
 | |
| 
 | |
|     public function testChangePassword()
 | |
|     {
 | |
|         // for binding
 | |
|         Auth::shouldReceive('user')->andReturn($this->_user);
 | |
|         Auth::shouldReceive('check')->andReturn(true);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('id')->andReturn($this->_user->id);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('email')->andReturn('some@email');
 | |
| 
 | |
|         $this->action('GET', 'ProfileController@changePassword');
 | |
|         $this->assertResponseOk();
 | |
|     }
 | |
| 
 | |
|     public function testIndex()
 | |
|     {
 | |
|         // for binding
 | |
|         Auth::shouldReceive('user')->andReturn($this->_user);
 | |
|         Auth::shouldReceive('check')->andReturn(true);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('id')->andReturn($this->_user->id);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('email')->andReturn('some@email');
 | |
| 
 | |
|         $this->action('GET', 'ProfileController@index');
 | |
|         $this->assertResponseOk();
 | |
|     }
 | |
| 
 | |
|     public function testPostChangePasswordDifferentNew()
 | |
|     {
 | |
|         $user = f::create('User');
 | |
|         // for binding
 | |
|         Auth::shouldReceive('user')->andReturn($user);
 | |
|         Auth::shouldReceive('check')->andReturn(true);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('id')->andReturn($user->id);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('email')->andReturn($user->email);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('password')->andReturn($user->password);
 | |
| 
 | |
|         $this->action(
 | |
|             'POST', 'ProfileController@postChangePassword',
 | |
|             ['old' => 'sander', 'new1' => 'sander1', 'new2' => 'sander2']
 | |
|         );
 | |
|         $this->assertResponseOk();
 | |
|     }
 | |
| 
 | |
|     public function testPostChangePasswordOK()
 | |
|     {
 | |
|         $user = f::create('User');
 | |
|         $user->password = 'sander';
 | |
|         $user->save();
 | |
|         // for binding
 | |
|         Auth::shouldReceive('user')->andReturn($user);
 | |
|         Auth::shouldReceive('check')->andReturn(true);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('id')->andReturn($user->id);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('email')->andReturn($user->email);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('password')->andReturn($user->password);
 | |
| 
 | |
|         $this->action(
 | |
|             'POST', 'ProfileController@postChangePassword',
 | |
|             ['old' => 'sander', 'new1' => 'sander2', 'new2' => 'sander2']
 | |
|         );
 | |
|         $this->assertSessionHas('success');
 | |
|         $this->assertResponseStatus(302);
 | |
|     }
 | |
| 
 | |
| 
 | |
|     public function testPostChangePasswordNoCurrent()
 | |
|     {
 | |
|         // for binding
 | |
|         Auth::shouldReceive('user')->andReturn($this->_user);
 | |
|         Auth::shouldReceive('check')->andReturn(true);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('id')->andReturn($this->_user->id);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('email')->andReturn('some@email');
 | |
|         $this->_user->shouldReceive('getAttribute')->with('password')->andReturn('Blablabla');
 | |
| 
 | |
|         $this->action('POST', 'ProfileController@postChangePassword', ['old' => '']);
 | |
|         $this->assertResponseOk();
 | |
|     }
 | |
| 
 | |
|     public function testPostChangePasswordNoMatchNew()
 | |
|     {
 | |
|         $user = f::create('User');
 | |
|         // for binding
 | |
|         Auth::shouldReceive('user')->andReturn($user);
 | |
|         Auth::shouldReceive('check')->andReturn(true);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('id')->andReturn($user->id);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('email')->andReturn($user->email);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('password')->andReturn($user->password);
 | |
| 
 | |
|         $this->action(
 | |
|             'POST', 'ProfileController@postChangePassword', ['old' => 'sander', 'new1' => 'sander', 'new2' => 'sander']
 | |
|         );
 | |
|         $this->assertResponseOk();
 | |
|     }
 | |
| 
 | |
|     public function testPostChangePasswordSame()
 | |
|     {
 | |
|         $user = f::create('User');
 | |
|         // for binding
 | |
|         Auth::shouldReceive('user')->andReturn($user);
 | |
|         Auth::shouldReceive('check')->andReturn(true);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('id')->andReturn($user->id);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('email')->andReturn($user->email);
 | |
|         $this->_user->shouldReceive('getAttribute')->with('password')->andReturn($user->password);
 | |
| 
 | |
|         $this->action('POST', 'ProfileController@postChangePassword', ['old' => 'sander']);
 | |
|         $this->assertResponseOk();
 | |
|     }
 | |
| 
 | |
| } 
 |