404

[ Avaa Bypassed ]




Upload:

Command:

botdev@18.118.160.203: ~ $
<?php
use PHPUnit\Framework\TestCase;

final class PatreonServiceTest extends TestCase
{
    private $patreonService;
    private $messagesResults = [];
    private TranslateService $translate_bot;
    function setUp(): void{
        $BOT_USER= '@TranslateGerman_bot';
        $BOT_TOKEN=  '816983194:AAH1pPCba__pNRFK7h6fFMoy-9twUuxJ-n8';
        $uriParts = explode("?",$_SERVER['REQUEST_URI']);
        $actual_link = "https://$_SERVER[HTTP_HOST]".$uriParts[0];
        $WEBHOOK_URL= "$actual_link";
        $SIGN ="پوشش خبری شهر های آلمان ".PHP_EOL."@TranslateGerman_bot";
        $this->translate_bot = new TranslateGerman($BOT_USER,$BOT_TOKEN,$WEBHOOK_URL, $SIGN);
        $bot = $this->getMockBuilder('Bot')
        ->setConstructorArgs(array($BOT_USER,$BOT_TOKEN,$WEBHOOK_URL, $SIGN))
        ->getMock();
        
        $bot->method("apiRequest")->will(
            $this->returnCallback(array($this, 'returnTestDataCallback'))
        );
        $mockedPatreonWebClient = $this->getMockBuilder('PatreonWebClient')->setConstructorArgs(array("@TranslateGerman3_bot"))->getMock();
        $mockedPatreonWebClient->method("retriveUserDetailsByToken")->willReturn(
        array('data'=>array(
            'id'=> '100001',
            'relationships'=>array('memberships'=>array('data'=>array(0=>array('id'=>"patreon_membershi_id")))))));
        $mockedPatreonWebClient->method("retriveTokens")->willReturn(array("access_token"=>"blablabla", "refresh_token"=>"blablabla"));
        $mockedPatreonWebClient->method("retriveCampaignMembers")->willReturn([]);
        $this->patreonService = new PatreonService($this->getTG());
        $this->translate_bot->setPatreonService($this->patreonService);
        $this->patreonService->patreonWebClient = $mockedPatreonWebClient;
        $this->translate_bot->bot = $bot;
        $this->getTG()->getDB()->removeAllUserActivites();
    }

    public function testPatreonWebclientRedirectUrl(){
        $redirectUrl = $this->getPatreonService()->getPatreonWebClient()->redirect_uri;
        $this->assertStringContainsString("@", $redirectUrl);
        $this->assertStringContainsString("bot", $redirectUrl);
    }
    
    public function testStartPatreonCode(): void
    {
        $dbgMgr = new DebugsManager();
        $debugUserID = 44903244;
        // $patreonService = new PatreonService($this->getTG());
        // $oauthLink = $patreonService->createLoginLink();
        // echo $oauthLink;
        $update = $dbgMgr->getUpdateForStartWithPatreonCode($debugUserID);
        $update['message']['text']="/start patZbQujZAcW6iHjGVdzSyXlLzCe5662C";
        $this->patreonService->getTS()->process($update);
        // $patreonService->getPatreonList();
        $this->messagesResults;
        $this->assertSame("2", "2");
    }
    private function getPatreonService(): PatreonService{
        return $this->patreonService;
    }
    public function testIsUserOf(){
        // $mockedPatreonService = new PatreonService($this->getTG());

        $dbgMgr = new DebugsManager();
        $debugUserID = 1111111;
        $this->getTG()->chat_id = $debugUserID;
        $result = $this->getPatreonService()->isUserOf(PatreonService::$programLevel1);
        $this->assertSame($result ,false);
    }
    public function testCreateLoginLink(): void
    {
        $patreonService = new PatreonService($this->getTG());
        $oauthLink = $patreonService->createLoginLink();
        // $patreonService->getPatreonList();
        $this->assertSame($oauthLink, $oauthLink);
    }

    function getTG(): TranslateGerman{
        return $this->translate_bot;
    }

    public function returnTestDataCallback()
    {
        $args = func_get_args();
        // print_r($args);
        if($args[0]=="getChatMember"){
            $member["status"]="member";
            return $member;
        }
        else {
            $this->messagesResults[] = 
            array_push($this->messagesResults, $args[1]);
        }
    }
    /**
     * @group failing
    */
}

Filemanager

Name Type Size Permission Actions
PatreonServiceTest.php File 3.97 KB 0644