403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/wbs24.ozonexport/tests/unit/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/wbs24.ozonexport/tests/unit/AdminTest.php
<?php
namespace Wbs24\Ozonexport;

use Bitrix\Main\Loader;

class AdminTest extends BitrixTestCase
{
    public function testGetSelectForPriceTypes()
    {
        Loader::includeModule('iblock');
        Loader::includeModule('catalog');

        // входные параметры
        $iblockId = 1;
        $field = 'SET_OFFER_ID';
        $currentValue = 'ARTNUMBER';

        // результат для проверки
        $expectedResult =
            '<select class="select_price_type" name="BLOB[priceType]">'
                .'<option value="">Default</option>'
                .'<option value="1">[1] (Base)</option>'
                .'<option value="2" selected>[2] Recommend price (Recommend)</option>'
                .'<option value="-1"></option>'
            .'</select>'
        ;

        // заглушка
		$CIBlockResultStub = $this->createMock(\CIBlockResult::class);
		$fetchResults[] = [
            'ID' => 1,
            'NAME_LANG' => '',
            'NAME' => 'Base',
		];
		$fetchResults[] = [
            'ID' => 2,
            'NAME_LANG' => 'Recommend price',
            'NAME' => 'Recommend',
		];
		$fetchResults[] = false;
		$CIBlockResultStub->method('Fetch')
			->will($this->onConsecutiveCalls(...$fetchResults));

        $CCatalogGroupStub = $this->createMock(CCatalogGroup::class);
        $CCatalogGroupStub->method('GetListEx')
            ->willReturn($CIBlockResultStub);

        // вычисление результата
        $admin = new Admin([
            'objects' => [
                'CCatalogGroup' => $CCatalogGroupStub,
            ],
        ]);
        $result = $admin->getSelectForPriceTypes(2, 'Default');

        // проверка
        $this->assertEquals($expectedResult, $result);
    }

    public function testGetSelectForOfferId()
    {
        Loader::includeModule('iblock');

        // входные параметры
        $iblockId = 1;
        $field = 'SET_OFFER_ID';
        $currentValue = 'ARTNUMBER';

        // результат для проверки
        $expectedResult =
            '<select id="set_offer_id" name="SET_OFFER_ID">'
                .'<option  value="ID" data-selected="N">ID</option>'
                .'<option  value="XML_ID" data-selected="N">XML_ID (Внешний код)</option>'
                .'<option data-iblock-id="2" value="ARTNUMBER" selected data-selected="Y">Артикул</option>'
            .'</select>'
            .'<script>document.addEventListener("DOMContentLoaded", function () {let ozon = new Wbs24Ozonexport();ozon.activateOptionsForCurrentIblock("SET_OFFER_ID", 2);});</script>'
        ;

        // заглушка
        $CCatalogStub = $this->createMock(CCatalog::class);
        $CCatalogStub->method('GetByIDExt')
            ->willReturn([
                'OFFERS_IBLOCK_ID' => 2,
            ]);

		$CIBlockResultStub = $this->createMock(\CIBlockResult::class);
		$fetchResults[] = [
            'ID' => 3,
            'NAME' => 'Артикул',
            'CODE' => 'ARTNUMBER',
            'IBLOCK_ID' => 2,
            'PROPERTY_TYPE' => 'S',
		];
		$fetchResults[] = false;
		$CIBlockResultStub->method('Fetch')
			->will($this->onConsecutiveCalls(...$fetchResults));

        $CIBlockPropertyStub = $this->createMock(CIBlockProperty::class);
        $CIBlockPropertyStub->method('GetList')
            ->willReturn($CIBlockResultStub);

        // вычисление результата
        $admin = new Admin([
            'objects' => [
                'CCatalog' => $CCatalogStub,
                'CIBlockProperty' => $CIBlockPropertyStub,
            ],
        ]);
        $result = $admin->getSelectForOfferId($iblockId, $field, $currentValue);

        // проверка
        $this->assertEquals($expectedResult, $result);
    }

    public function testGetPriceMarksToLang()
    {
        Loader::includeModule('iblock');
        Loader::includeModule('catalog');

        // входные параметры

        // результат для проверки
        $expectedResult = [
            'PRICE_1' => '[1] Base',
            'PRICE_2' => '[2] Recommend - Recommend price',
        ];

        // заглушка
		$CIBlockResultStub = $this->createMock(\CIBlockResult::class);
		$fetchResults[] = [
            'ID' => 1,
            'NAME_LANG' => '',
            'NAME' => 'Base',
		];
		$fetchResults[] = [
            'ID' => 2,
            'NAME_LANG' => 'Recommend price',
            'NAME' => 'Recommend',
		];
		$fetchResults[] = false;
		$CIBlockResultStub->method('Fetch')
			->will($this->onConsecutiveCalls(...$fetchResults));

        $CCatalogGroupStub = $this->createMock(CCatalogGroup::class);
        $CCatalogGroupStub->method('GetListEx')
            ->willReturn($CIBlockResultStub);

        // вычисление результата
        $admin = new Admin([
            'objects' => [
                'CCatalogGroup' => $CCatalogGroupStub,
            ],
        ]);
        $result = $admin->getPriceMarksToLang();

        // проверка
        $this->assertEquals($expectedResult, $result);
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit