BannerCest.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <?php
  2. /**
  3. * Author: lf
  4. * Blog: https://blog.feehi.com
  5. * Email: job@feehi.com
  6. * Created at: 2017-12-07 19:31
  7. */
  8. namespace backend\tests\functional;
  9. use common\models\AdminUser;
  10. use backend\tests\FunctionalTester;
  11. use backend\fixtures\UserFixture;
  12. use yii\helpers\Url;
  13. /**
  14. * Class BannerCest
  15. */
  16. class BannerCest
  17. {
  18. public function _fixtures()
  19. {
  20. return [
  21. 'user' => [
  22. 'class' => UserFixture::className(),
  23. 'dataFile' => codecept_data_dir() . 'login_data.php'
  24. ]
  25. ];
  26. }
  27. public function _before(FunctionalTester $I)
  28. {
  29. $I->amLoggedInAs(AdminUser::findIdentity(1));
  30. }
  31. public function checkBannerTypeIndex(FunctionalTester $I)
  32. {
  33. $I->amOnPage(Url::toRoute('/banner/index'));
  34. $I->see('Banner类型');
  35. }
  36. public function checkBannerTypeUpdate(FunctionalTester $I)
  37. {
  38. $I->amOnPage(Url::toRoute('/banner/index'));
  39. $I->click("a[title=编辑]");
  40. $I->see("编辑Banner类型");
  41. $I->fillField("BannerTypeForm[tips]", 'banner类型描述');
  42. $I->submitForm("button[type=submit]", []);
  43. $I->see('Banner类型');
  44. $I->see("描述");
  45. }
  46. public function checkBannerTypeCreate(FunctionalTester $I)
  47. {
  48. $I->amOnPage(Url::toRoute('/banner/create'));
  49. $I->fillField("BannerTypeForm[name]", 'test_banner_type');
  50. $I->fillField("BannerTypeForm[tips]", 'description');
  51. $I->submitForm("button[type=submit]", []);
  52. $I->see("test_banner_type");
  53. }
  54. public function checkBannerTypeDelete(FunctionalTester $I)
  55. {
  56. $I->amOnPage(Url::toRoute('/banner/index'));
  57. $urls = $I->grabMultiple("table a[title=进入]", "href");
  58. $data = \GuzzleHttp\Psr7\parse_query($urls[0]);
  59. $I->sendAjaxPostRequest(Url::toRoute('banner/delete'), [
  60. 'id' => $data['id'],
  61. ]);
  62. $I->see(422);
  63. }
  64. public function checkBanners(FunctionalTester $I)
  65. {
  66. $I->amOnPage(Url::toRoute('/banner/index'));
  67. $I->see("Banner类型");
  68. }
  69. public function checkBannerCreate(FunctionalTester $I)
  70. {
  71. $I->amOnPage(Url::toRoute('/banner/index'));
  72. $I->click("a[title=进入]");
  73. $I->click("a[title=创建]");
  74. $I->fillField("BannerForm[link]", 'https://www.feehi.com');
  75. $I->fillField("BannerForm[desc]", '我是描述信息');
  76. $I->submitForm("button[type=submit]", []);
  77. $I->see("https://www.feehi.com");
  78. }
  79. public function checkBannerUpdate(FunctionalTester $I)
  80. {
  81. $I->amOnPage(Url::toRoute('/banner/index'));
  82. $I->click("a[title=进入]");
  83. $I->click("a[title=编辑]");
  84. $I->fillField("BannerForm[desc]", 'banner图片描述');
  85. $I->submitForm("button[type=submit]", []);
  86. $I->click("a[title=编辑]");
  87. $I->seeInField("BannerForm[desc]", "banner图片描述");
  88. }
  89. public function checkBannerView(FunctionalTester $I)
  90. {
  91. $I->amOnPage(Url::toRoute('/banner/index'));
  92. $I->click("a[title=进入]");
  93. $urls = $I->grabMultiple("table a[title=查看]", "url");
  94. $I->amOnPage($urls[0]);
  95. $I->see("标识");
  96. }
  97. public function checkBannerDelete(FunctionalTester $I)
  98. {
  99. $I->amOnPage(Url::toRoute('/banner/index'));
  100. $I->click("a[title=进入]");
  101. $urls = $I->grabMultiple("table a[title=删除]", "url");
  102. $I->sendAjaxPostRequest($urls[0], [
  103. ]);
  104. $I->see("success");
  105. }
  106. public function checkBannerSort(FunctionalTester $I)
  107. {
  108. $I->amOnPage(Url::toRoute('/banner/index'));
  109. $I->click("a[title=进入]");
  110. $urls = $I->grabMultiple("table a[title=删除]", "url");
  111. $data = \GuzzleHttp\Psr7\parse_query($urls[0]);
  112. $key = "sort[" . json_encode(['id' => $data['id'], 'sign' => $data['sign']]) . "]";
  113. $I->sendAjaxPostRequest(Url::toRoute(['banner/banner-sort', 'id'=>$data['id']]), [
  114. $key => 2,
  115. ]);
  116. $I->see("success");
  117. }
  118. }