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

Revision #260 has been created by rackycz on Nov 23, 2021, 1:20:07 PM with the memo:

Test reverted
« previous (#259) next (#261) »

Changes

Title unchanged

Yii v2 snippet guide

Category unchanged

Tutorials

Yii version unchanged

2.0

Tags unchanged

tutorial,beginner,yii2

Content changed

[...]
return true;
}
```

.
 
 
.
 
 
**Tests - unit + opa** --- 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"
... see next chapters ...

**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: 256 660 times
Version: 2.0
Category: Tutorials
Written by: rackycz
Last updated by: rackycz
Created on: Sep 19, 2019
Last updated: 6 months ago
Update Article

Revisions

View all history