PHPackages                             helbrary/nette-tester-extension - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. helbrary/nette-tester-extension

ActiveLibrary[Testing &amp; Quality](/categories/testing)

helbrary/nette-tester-extension
===============================

Extension library for nette tester.

v0.1.4(8y ago)11.9k[1 PRs](https://github.com/krajcikondra/netteTesterExtension/pulls)BSD-3-ClausePHPPHP &gt;= 5.3.7

Since Jan 14Pushed 2y ago1 watchersCompare

[ Source](https://github.com/krajcikondra/netteTesterExtension)[ Packagist](https://packagist.org/packages/helbrary/nette-tester-extension)[ RSS](/packages/helbrary-nette-tester-extension/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (3)Dependencies (3)Versions (9)Used By (0)

Nette tester extension
======================

[](#nette-tester-extension)

Easy testing of presenters

Library contains class BasePresenterTester which provide following methods:

- **checkRequestNoError** - expect that some action of presenter is without error
- **checkRequestError** - expect that some action of presenter throw error
- **checkRedirectTo** - expect that some action of presenter return redirect

Authenticator
=============

[](#authenticator)

In default ever request are sent as from unlogged user. If we want test behavior of action when is some user logged in, we can use parameters "*$userId*" etc. which provide all check\* methods. We do not need to know password of user. Simply say that we want be logged in as user with id "*$userId*".

Default role of logged user is '*admin*'. For change role use parameter "*$userRole*"

Example in practice
===================

[](#example-in-practice)

**!!! Important recomended: Before start tests clear cache !!!**

For each presenter to test must be created separated class

```
userModel = $this->container->getByType('\Model\UserModel');
		$this->testingUser = $this->userModel->find()->fetch(); // get some user from db
	}

	/**
	 * Test detail action of account presenter
	 */
	public function testDetail()
	{
		// if no user is logged in, expected redirect to Sign in
		$this->checkRedirectTo(array(
			'action' => 'detail',
			'id' => 8, // parameter id for action detail
		), 'Front:Sign:in');

		// if some user is logged in, expected that action detail will be render without error
		// after send this request is logged in user with id $this->testingUser->id
		$this->checkRequestNoError(array(
			'action' => 'detail',
		), 'GET', $this->testingUser->id);
	}
}

$testCase = new TestAccountPresenter();
$testCase->run();
```

Multiple presenter tester in one test
-------------------------------------

[](#multiple-presenter-tester-in-one-test)

```
