magium/twitter

Provides a mechanism for logging in to Twitter to validate OAuth-based tests

1.1.1 2017-01-27 23:16 UTC

README

Scrutinizer Code Quality

magium/twitter

This is a simple library to help browser tests perform OAuth logins to Twitter.

To install

composer require magium/twitter

To use:

use Magium\Twitter\Actions\AuthenticateTwitter;

class TwitterTest extends \Magium\AbstractTestCase
{

    public function testLogin()
    {
        // Do something that forwards the browser to the twitter OAuth page.

         $action = $this->getAction(AuthenticateTwitter::ACTION);
        /* @var $action AuthenticateTwitter */
        $action->execute();
    }

}

Setting the username and password

There are two ways to set the username and password

In code

use Magium\Twitter\Identities\Twitter
use Magium\Twitter\Actions\AuthenticateTwitter;

class TwitterTest extends \Magium\AbstractTestCase
{

    public function testLogin()
    {

        $identity = $this->getIdentity(Twitter::IDENTITY);
        /* @var $identity Twitter */
        $identity->setUsername('username');
        $identity->setPassword('password');

        // Do something that forwards the browser to the twitter OAuth page.

         $action = $this->getAction(AuthenticateTwitter::ACTION);
        /* @var $action AuthenticateTwitter */
        $action->execute();
    }

}

In configuration

Create the file /configuration/Magium/Twitter/Identities/Twitter.php and enter the following:

<?php

/* @var $this \Magium\Twitter\Identities\Twitter */
$this->username = 'username';
$this->password = 'password';

Note that you should be familiar with AbstractConfigurableElements to do this

##Sign In With Twitter

Using the sign-in-with-Twitter functionality


    public function testSignInWithTwitter()
    {
        
        $action = $this->getAction(SignInWithTwitter::ACTION);
        /* @var $action SignInWithTwitter */
        $action->execute();

    }

##Log In To Twitter

To log in via the Twitter front page...


    public function testAuthenticate()
    {
        $this->getAction(AuthenticateTwitter::ACTION)->execute();
    }

##To tweet


    public function testTweet()
    {
        $text = 'This is text I would like to tweet';

        $this->getAction(AuthenticateTwitter::ACTION)->execute();
        $this->getAction(Tweet::ACTION)->tweet($text);
    }