Skip to content

The plugin adds helpers for selenium functional tests. It makes easy to test mails sent to gmail, admin generated pages

License

Notifications You must be signed in to change notification settings

makasim/sfPhpunitHelperPlugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The plugin will provide a functionallity like shown bellow:

Helpers allow write test much as domain logic nor selenium commands.

Example 1:

    class PublicationFunctionTestCase extends BaseSeleniumTestCase
      implements sfPhpunitFixturePropelAggregator
    {
      public function testNewItem()
      {
        $this->backofficeHelper()
          ->loginAsSuperadmin()
          ->goPublications();
    
        $this->gridHelper()
          ->assertTotalRows(5)
          ->clickAtNewItem();
    
        $this->assertTextPresent('New Publication');
    
        $this->formHelper()
          ->type('publication', 'title', 'title_new')
          ->select('publication', 'published_from_month', 'July')
          ->select('publication', 'published_from_day', '01')
          ->select('publication', 'published_from_year', '2010')
          ->type('publication', 'author', 'test-author')
          ->type('publication', 'manager', 'test-manager')
          ->type('publication', 'publisher', 'test-publisher')
          ->type('publication', 'ISBN', '1234-4321-1234')
          ->type('publication', 'cover_file',
            $this->fixture()->getFileCommonAsRemote('publicationCover.gif'))
    
          ->clickAtSave()
          ->assertSavedSuccess();
    
        $this->assertTextPresent('Edit Publication');
    
        $this->formHelper()
          ->assertImageExist('publication', 'cover_file')
          ->clickAtCancel();
    
        $this->gridHelper()
          ->assertTotalRows(6)
          ->assertItemFieldValue(6, 'title', 'title_new')
          ->assertItemFieldValue(6, 'author', 'test-author');
      }
    }
    
Example 2:

    class AuthenticationTestCase extends FrontendBaseTestCase
    {
      public function testVisitorCanRegisterAndBecomeAUser()
      {
        // selenium command to register user and asume that app send a mail to user gmail account.
        // then we can check that the mail was actually sent.
    
        $this->gmailHelper()
          ->open()
          ->loginNewUser()
          ->assertNewMail('admin mail', 'Please verify your account')
          ->clickAtMailWithSubject('glob:Please verify your account*');
        
        $this->assertTrue($this->isTextPresent("glob:Thanks for applying for an account with*To prevent abuse of the site, we require that you activate your account by clicking on the following link:"));
    
        $this->click('link=glob:*/confirm/'.$user->getProfile()->getValidate());
        
        // ... other actions
      }
    }

About

The plugin adds helpers for selenium functional tests. It makes easy to test mails sent to gmail, admin generated pages

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages