UserCest.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace backend\tests\functional;
  3. use common\models\AdminUser;
  4. use backend\tests\FunctionalTester;
  5. use backend\fixtures\UserFixture;
  6. use yii\helpers\Url;
  7. /**
  8. * Class UserCest
  9. */
  10. class UserCest
  11. {
  12. public function _fixtures()
  13. {
  14. return [
  15. 'user' => [
  16. 'class' => UserFixture::className(),
  17. 'dataFile' => codecept_data_dir() . 'login_data.php'
  18. ]
  19. ];
  20. }
  21. public function _before(FunctionalTester $I)
  22. {
  23. $I->amLoggedInAs(AdminUser::findIdentity(1));
  24. }
  25. public function checkIndex(FunctionalTester $I)
  26. {
  27. $I->amOnPage(Url::toRoute('/user/index'));
  28. $I->see('用户名');
  29. $I->see("邮箱");
  30. }
  31. public function checkCreate(FunctionalTester $I)
  32. {
  33. $I->amOnPage(Url::toRoute('/user/create'));
  34. $I->fillField("User[username]", 'test_name');
  35. $I->fillField("User[password]", 'password');
  36. $I->fillField("User[repassword]", 'password');
  37. $I->fillField("User[email]", 'test@feehi.com');
  38. $I->submitForm("button[type=submit]", []);
  39. $I->see("test_name");
  40. }
  41. public function checkDelete(FunctionalTester $I)
  42. {
  43. $I->amOnPage(Url::toRoute('/user/create'));
  44. $I->fillField("User[username]", 'test_name');
  45. $I->fillField("User[password]", 'password');
  46. $I->fillField("User[repassword]", 'password');
  47. $I->fillField("User[email]", 'test@feehi.com');
  48. $I->submitForm("button[type=submit]", []);
  49. $I->amOnPage(Url::toRoute('/user/index'));
  50. $urls = $I->grabMultiple("table a[title=查看]", "url");
  51. $data = \GuzzleHttp\Psr7\parse_query($urls[0]);
  52. $I->sendAjaxPostRequest(Url::toRoute('user/delete'), [
  53. 'id' => $data['id'],
  54. ]);
  55. $I->see("success");
  56. }
  57. public function checkUpdate(FunctionalTester $I)
  58. {
  59. $I->amOnPage(Url::toRoute('/user/create'));
  60. $I->fillField("User[username]", 'test_name');
  61. $I->fillField("User[password]", 'password');
  62. $I->fillField("User[repassword]", 'password');
  63. $I->fillField("User[email]", 'test@feehi.com');
  64. $I->submitForm("button[type=submit]", []);
  65. $I->amOnPage(Url::toRoute('/user/index'));
  66. $I->click("a[title=编辑]");
  67. $I->fillField("User[email]", 'update@feehi.com');
  68. $I->seeInField("User[email]", "update@feehi.com");
  69. }
  70. public function checkView(FunctionalTester $I)
  71. {
  72. $I->amOnPage(Url::toRoute('/user/create'));
  73. $I->fillField("User[username]", 'test_name');
  74. $I->fillField("User[password]", 'password');
  75. $I->fillField("User[repassword]", 'password');
  76. $I->fillField("User[email]", 'test@feehi.com');
  77. $I->submitForm("button[type=submit]", []);
  78. $I->amOnPage(Url::toRoute('/user/index'));
  79. $urls = $I->grabMultiple("table a[title=查看]", "url");
  80. $I->amOnPage($urls[0]);
  81. $I->see("头像");
  82. }
  83. }