Difference between #258 and #259 of
Yii v2 snippet guide

Revision #259 has been created by rackycz on Nov 23, 2021, 1:18:51 PM with the memo:

Tests
« previous (#258) next (#260) »

Changes

Title unchanged

Yii v2 snippet guide

Category unchanged

Tutorials

Yii version unchanged

2.0

Tags unchanged

tutorial,beginner,yii2

Content changed

[...]
.

**Tests - unit + opa**
---
... text ...
 
 
.
 
 
It is easy to run tests as both demo-applications are ready. Use command line and navigate to your project. Then type:
 
 
```php
 
php ./vendor/bin/codecept run
 
```
 
 
This will run Unit and Functional tests. They are defined in folder tests/unit and tests/functional. Functional tests run in a hidden browser and do not work with JavaScript I think. In order to test complex JavaScript, you need Acceptance Tests. How to run them is to be found in file README.md in both demo applications. If you want to run these tests in your standard Chrome or Firefox browser, you will need JDK and file selenium-server*.jar. See links in README.md. Once you have the JAR file, place is to your project and call:
 
 
```php
 
java -jar selenium-server-4.0.0.jar standalone
 
```
 
 
Now you can rerun your tests. Make sure that you have working URL of your project in file acceptance.suite.yml, section WebDriver. For example http://localhost/yii-basic/web. It depends on your environment. Also specify browser. For me works well setting "browser: chrome"
.

**Adding a google-like calendar**
[...]
?></li>
<li><?php
$csvUrl = \yii\help
ers\Url::current(['exportToCsv' => 1]);
 
          echo Html::a('Preserve filters and sorting', $csvUrl, ['target' => '_blank', 'class' => 'text-left', 'data-pjax'=>'0']);
 
          // 'data-pjax'=>'0' is necessaary to avoid PJAX. 
 
          // Now we need to open the link in a new tab, not to resolve it as an ajax request.
 
          ?></li>
 
    </ul>
 
  </div>
 
</div>
 
 
<php
 
// Here goes the rest ... 
 
// echo GridView::widget([
 
// ...
 
?>
 
```
 
 
In my code above there were used 2 methods in the model which export things to the CSV format. My implementatino is here:
 
 
```php
 
public static function getCsvHeader() {
 
  $result = [];
 
  $result[] = "ID";
 
  $result[] = "Username";
 
  $result[] = "Email";
 
  // ...
 
  return implode(";", $result);
 
}
 
public function getCsvRow() {
 
  $result = [];
 
  $result[] = $this->id;
 
  $result[] = $this->username;
 
  $result[] = $this->email;
 
  // ...
 
  return implode(";", $result);
 
}
 
 
```
 
 
**Next chapters had to be moved to a new article!**
 
---
7 0
4 followers
Viewed: 275 026 times
Version: 2.0
Category: Tutorials
Written by: rackycz
Last updated by: rackycz
Created on: Sep 19, 2019
Last updated: a year ago
Update Article

Revisions

View all history