625 lines
22 KiB
PHP
625 lines
22 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Copyright (c) D3 Data Development (Inh. Thomas Dartsch)
|
|
*
|
|
* For the full copyright and license information, please view
|
|
* the LICENSE file that was distributed with this source code.
|
|
*
|
|
* https://www.d3data.de
|
|
*
|
|
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
|
* @author D3 Data Development - Daniel Seifert <info@shopmodule.com>
|
|
* @link https://www.oxidmodule.com
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace D3\Usermanager\tests\unit\Application\Controller\Admin;
|
|
|
|
use D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action;
|
|
use D3\Usermanager\Application\Model\Actions\d3usermanager_actiongrouplist;
|
|
use D3\Usermanager\Application\Model\d3usermanager;
|
|
use D3\Usermanager\Application\Model\d3usermanager_conf;
|
|
use D3\Usermanager\tests\unit\d3UsermanagerUnitTestCase;
|
|
use Exception as ExceptionAlias;
|
|
use Exception;
|
|
use OxidEsales\Eshop\Application\Model\ContentList;
|
|
use OxidEsales\Eshop\Application\Model\User;
|
|
use OxidEsales\Eshop\Core\Config;
|
|
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
|
|
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
|
|
use OxidEsales\Eshop\Core\Language;
|
|
use PHPUnit\Framework\MockObject\MockObject;
|
|
use ReflectionException;
|
|
use D3\Usermanager\Application\Model\Actions as Actions;
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action
|
|
*/
|
|
class d3_cfg_usermanageritem_actionTest extends d3UsermanagerUnitTestCase
|
|
{
|
|
/** @var d3_cfg_usermanageritem_action */
|
|
protected $_oController;
|
|
|
|
/**
|
|
* setup basic requirements
|
|
* @throws DatabaseConnectionException
|
|
* @throws DatabaseErrorException
|
|
* @throws Exception
|
|
*/
|
|
public function setUp(): void
|
|
{
|
|
parent::setUp();
|
|
|
|
$this->_oController = d3GetOxidDIC()->get(d3_cfg_usermanageritem_action::class);
|
|
}
|
|
|
|
public function tearDown(): void
|
|
{
|
|
parent::tearDown();
|
|
|
|
unset($this->_oController);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::save
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function canSaveNoMissingValues()
|
|
{
|
|
/** @var d3usermanager|MockObject $oProfileMock */
|
|
$oProfileMock = $this->getMockBuilder(d3usermanager::class)
|
|
->onlyMethods(['getValue'])
|
|
->getMock();
|
|
$getValueMap = [['blActionOrderStorno_status', true]];
|
|
$oProfileMock->method('getValue')->willReturnMap($getValueMap);
|
|
|
|
/** @var d3_cfg_usermanageritem_action|MockObject $oControllerMock */
|
|
$oControllerMock = $this->getMockBuilder(d3_cfg_usermanageritem_action::class)
|
|
->onlyMethods(['getProfile'])
|
|
->getMock();
|
|
$oControllerMock->method('getProfile')->willReturn($oProfileMock);
|
|
|
|
$this->_oController = $oControllerMock;
|
|
|
|
$this->callMethod($this->_oController, 'save');
|
|
$this->assertNull($this->_oController->getViewDataElement('missingRequValuesActions'));
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::save
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function canSaveMissingValues()
|
|
{
|
|
/** @var d3usermanager|MockObject $oProfileMock */
|
|
$oProfileMock = $this->getMockBuilder(d3usermanager::class)
|
|
->onlyMethods(['getValue'])
|
|
->getMock();
|
|
$getValueMap = [['blActionCust2Group_status', true]];
|
|
$oProfileMock->method('getValue')->willReturnMap($getValueMap);
|
|
|
|
/** @var d3_cfg_usermanageritem_action|MockObject $oControllerMock */
|
|
$oControllerMock = $this->getMockBuilder(d3_cfg_usermanageritem_action::class)
|
|
->onlyMethods(['getProfile'])
|
|
->getMock();
|
|
$oControllerMock->method('getProfile')->willReturn($oProfileMock);
|
|
|
|
$this->_oController = $oControllerMock;
|
|
|
|
$this->callMethod($this->_oController, 'save');
|
|
$aMissing = $this->_oController->getViewDataElement('missingRequValuesActions');
|
|
$this->assertIsArray($aMissing);
|
|
$this->assertCount(1, $aMissing);
|
|
$this->assertContains('add2Group', $aMissing);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getContentList
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function getContentListReturnsItems()
|
|
{
|
|
$oContentList = $this->callMethod($this->_oController, 'getContentList', []);
|
|
|
|
$this->assertInstanceOf(ContentList::class, $oContentList);
|
|
$this->assertNotEmpty($oContentList);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::d3GetConfig
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function d3GetConfigReturnsRightInstance()
|
|
{
|
|
$this->assertInstanceOf(
|
|
Config::class,
|
|
$this->callMethod(
|
|
$this->_oController,
|
|
'd3GetConfig'
|
|
)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getItemFieldNames
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function orderFieldNamesPass()
|
|
{
|
|
$aFieldNames = $this->callMethod($this->_oController, 'getItemFieldNames');
|
|
$this->assertIsArray($aFieldNames);
|
|
$this->assertGreaterThan(0, count($aFieldNames));
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getProfile
|
|
* @test
|
|
* @throws ReflectionException
|
|
* @throws Exception
|
|
*/
|
|
public function getProfileReturnsRightInstance()
|
|
{
|
|
$oProfile = d3GetOxidDIC()->get(d3usermanager::class);
|
|
$oProfile->setId('newProfileId');
|
|
$oProfile->save();
|
|
|
|
/** @var d3_cfg_usermanageritem_action|MockObject $oControllerMock */
|
|
$oControllerMock = $this->getMockBuilder(d3_cfg_usermanageritem_action::class)
|
|
->onlyMethods(['getEditObjectId'])
|
|
->getMock();
|
|
$oControllerMock->method('getEditObjectId')->willReturn('newProfileId');
|
|
|
|
$this->_oController = $oControllerMock;
|
|
|
|
$oAssertProfile = $this->callMethod($this->_oController, 'getProfile');
|
|
|
|
$this->assertInstanceOf(
|
|
d3usermanager::class,
|
|
$oAssertProfile
|
|
);
|
|
$this->assertSame('newProfileId', $oAssertProfile->getId());
|
|
|
|
$oProfile->delete();
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getProfile
|
|
* @test
|
|
* @throws ReflectionException
|
|
* @throws Exception
|
|
*/
|
|
public function getProfileOtherLangReturnsRightInstance()
|
|
{
|
|
$oProfile = d3GetOxidDIC()->get(d3usermanager::class);
|
|
$oProfile->setId('newProfileId');
|
|
$oProfile->save();
|
|
|
|
/** @var d3_cfg_usermanageritem_action|MockObject $oControllerMock */
|
|
$oControllerMock = $this->getMockBuilder(d3_cfg_usermanageritem_action::class)
|
|
->onlyMethods(['getEditObjectId'])
|
|
->getMock();
|
|
$oControllerMock->method('getEditObjectId')->willReturn('newProfileId');
|
|
|
|
$this->_oController = $oControllerMock;
|
|
|
|
$this->setValue($this->_oController, '_iEditLang', 'en');
|
|
$oAssertProfile = $this->callMethod($this->_oController, 'getProfile');
|
|
|
|
$this->assertInstanceOf(
|
|
d3usermanager::class,
|
|
$oAssertProfile
|
|
);
|
|
$this->assertSame('newProfileId', $oAssertProfile->getId());
|
|
|
|
$oProfile->delete();
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getExportExamplePath
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function exportExamplePathWillGenerated()
|
|
{
|
|
$_POST['oxid'] = 'foobar';
|
|
|
|
/** @var d3usermanager|MockObject $oProfileMock */
|
|
$oProfileMock = $this->getMockBuilder(d3usermanager::class)
|
|
->onlyMethods([
|
|
'loadInLang',
|
|
'getStartTime',
|
|
'getListExportFilePath',
|
|
])
|
|
->getMock();
|
|
$oProfileMock->expects($this->once())->method('loadInLang')->willReturn(true);
|
|
$oProfileMock->method('getStartTime')->willReturn(1420716228);
|
|
$oProfileMock->method('getListExportFilePath')->willReturn('/var/www/html/shop/source/export/d3usermananger_profileName_2015-01-08_12-23-48.csv');
|
|
|
|
/** @var d3_cfg_usermanageritem_action|MockObject $oControllerMock */
|
|
$oControllerMock = $this->getMockBuilder(d3_cfg_usermanageritem_action::class)
|
|
->onlyMethods([
|
|
'getProfile',
|
|
'_d3LoadInOtherLang',
|
|
])
|
|
->getMock();
|
|
$oControllerMock->method('getProfile')->willReturn($oProfileMock);
|
|
$oControllerMock->method('_d3LoadInOtherLang')->willReturn($oProfileMock);
|
|
|
|
$this->_oController = $oControllerMock;
|
|
|
|
$sPath = $this->callMethod($this->_oController, 'getExportExamplePath');
|
|
$this->assertMatchesRegularExpression('@/var/www/html/shop/source/export/d3usermananger_profileName_.*.csv@i', $sPath);
|
|
$this->assertStringNotContainsStringIgnoringCase('2015-01-08_12-23-48', $sPath);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getLang
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function langWillReturnRightInstance()
|
|
{
|
|
$this->assertInstanceOf(
|
|
Language::class,
|
|
$this->callMethod($this->_oController, 'getLang')
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getFieldNameDescription
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function fieldNameDescriptionCanTranslated()
|
|
{
|
|
/** @var Language|MockObject $oLangMock */
|
|
$oLangMock = $this->getMockBuilder(Language::class)
|
|
->onlyMethods(['translateString'])
|
|
->getMock();
|
|
$oLangMock->expects($this->once())->method('translateString')->willReturn('%1$s (%2$s)');
|
|
|
|
/** @var d3_cfg_usermanageritem_action|MockObject $oControllerMock */
|
|
$oControllerMock = $this->getMockBuilder(d3_cfg_usermanageritem_action::class)
|
|
->onlyMethods([
|
|
'getFieldNameTitle',
|
|
'getLang',
|
|
])
|
|
->getMock();
|
|
$oControllerMock->method('getFieldNameTitle')->willReturn('barfoo');
|
|
$oControllerMock->method('getLang')->willReturn($oLangMock);
|
|
|
|
$this->_oController = $oControllerMock;
|
|
|
|
$this->assertSame(
|
|
'barfoo (foobar_5)',
|
|
$this->callMethod($this->_oController, 'getFieldNameDescription', ['foobar_5'])
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getFieldNameDescription
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function fieldNameDescriptionCantTranslated()
|
|
{
|
|
/** @var d3_cfg_usermanageritem_action|MockObject $oControllerMock */
|
|
$oControllerMock = $this->getMockBuilder(d3_cfg_usermanageritem_action::class)
|
|
->onlyMethods(['getFieldNameTitle'])
|
|
->getMock();
|
|
$oControllerMock->method('getFieldNameTitle')->willReturn(null);
|
|
|
|
$this->_oController = $oControllerMock;
|
|
|
|
$this->assertSame(
|
|
'foobar_5',
|
|
$this->callMethod($this->_oController, 'getFieldNameDescription', ['foobar_5'])
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getFieldNameTitle
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function canGetFieldNameTitleWithLangIdent()
|
|
{
|
|
/** @var Language|MockObject $oLangMock */
|
|
$oLangMock = $this->getMockBuilder(Language::class)
|
|
->onlyMethods(['translateString'])
|
|
->getMock();
|
|
$oLangMock->expects($this->exactly(2))->method('translateString')->with(
|
|
$this->logicalOr(
|
|
$this->stringContains('D3_USERMANAGER'),
|
|
$this->logicalAnd(
|
|
$this->stringContains('foobar'),
|
|
$this->logicalNot(
|
|
$this->stringContains('5')
|
|
)
|
|
)
|
|
)
|
|
)->willReturn('Sprache %u ');
|
|
|
|
/** @var d3_cfg_usermanageritem_action|MockObject $oControllerMock */
|
|
$oControllerMock = $this->getMockBuilder(d3_cfg_usermanageritem_action::class)
|
|
->onlyMethods(['getLang'])
|
|
->getMock();
|
|
$oControllerMock->method('getLang')->willReturn($oLangMock);
|
|
|
|
$this->_oController = $oControllerMock;
|
|
|
|
$this->assertSame(
|
|
'Sprache %u Sprache 0 ',
|
|
$this->callMethod($this->_oController, 'getFieldNameTitle', ['foobar_1'])
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getFieldNameTitle
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function canGetFieldNameTitleWithoutLangIdent()
|
|
{
|
|
/** @var Language|MockObject $oLangMock */
|
|
$oLangMock = $this->getMockBuilder(Language::class)
|
|
->onlyMethods(['translateString'])
|
|
->getMock();
|
|
$oLangMock->expects($this->once())->method('translateString')->with(
|
|
$this->stringContains('foobar')
|
|
)->willReturn('Sprache %u ');
|
|
|
|
/** @var d3_cfg_usermanageritem_action|MockObject $oControllerMock */
|
|
$oControllerMock = $this->getMockBuilder(d3_cfg_usermanageritem_action::class)
|
|
->onlyMethods(['getLang'])
|
|
->getMock();
|
|
$oControllerMock->method('getLang')->willReturn($oLangMock);
|
|
|
|
$this->_oController = $oControllerMock;
|
|
|
|
$this->assertSame(
|
|
'Sprache %u ',
|
|
$this->callMethod($this->_oController, 'getFieldNameTitle', ['foobar'])
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getFieldNameTitle
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function canGetFieldNameTitleWithNotExistingTranslation()
|
|
{
|
|
/** @var Language|MockObject $oLangMock */
|
|
$oLangMock = $this->getMockBuilder(Language::class)
|
|
->onlyMethods(['translateString'])
|
|
->getMock();
|
|
$oLangMock->expects($this->once())->method('translateString')->willReturn('FOOBAR');
|
|
|
|
/** @var d3_cfg_usermanageritem_action|MockObject $oControllerMock */
|
|
$oControllerMock = $this->getMockBuilder(d3_cfg_usermanageritem_action::class)
|
|
->onlyMethods(['getLang'])
|
|
->getMock();
|
|
$oControllerMock->method('getLang')->willReturn($oLangMock);
|
|
|
|
$this->setValue($oControllerMock, '_sExportFieldTitleBaseMLIdent', '');
|
|
|
|
$this->_oController = $oControllerMock;
|
|
|
|
$this->assertNull(
|
|
$this->callMethod($this->_oController, 'getFieldNameTitle', ['FOOBAR'])
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getActionGroupList
|
|
* @test
|
|
* @throws ReflectionException
|
|
* @throws ExceptionAlias
|
|
*/
|
|
public function getActionListReturnsRightInstance()
|
|
{
|
|
$this->assertInstanceOf(
|
|
d3usermanager_actiongrouplist::class,
|
|
$this->callMethod(
|
|
$this->_oController,
|
|
'getActionGroupList'
|
|
)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getActionListObject
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function canGetActionListObject()
|
|
{
|
|
$this->assertInstanceOf(
|
|
Actions\d3usermanager_actionlist::class,
|
|
$this->callMethod($this->_oController, 'getActionListObject')
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getActionList
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function canGetActionList()
|
|
{
|
|
$aActionList = $this->callMethod($this->_oController, 'getActionList');
|
|
$this->assertIsArray(
|
|
$aActionList
|
|
);
|
|
$this->assertNotEmpty($aActionList);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::getGroupedActionList
|
|
* @test
|
|
* @throws ReflectionException
|
|
* @throws ExceptionAlias
|
|
*/
|
|
public function canGetGroupList()
|
|
{
|
|
$groupedList = [
|
|
'D3_USERMANAGER_ACTION_ORDER' => [
|
|
'moveOrderToFolder' => Actions\d3usermanager_action_setactiveflag::class,
|
|
'stornoOrder' => Actions\d3usermanager_action_deletefromgroup::class,
|
|
],
|
|
'D3_USERMANAGER_ACTION_CUSTOMER' => [
|
|
'custAddToGroup' => Actions\d3usermanager_action_add2group::class,
|
|
],
|
|
];
|
|
|
|
/** @var d3usermanager_actiongrouplist|MockObject $oActionGroupListMock */
|
|
$oActionGroupListMock = $this->getMockBuilder(d3usermanager_actiongrouplist::class)
|
|
->onlyMethods([
|
|
'setGroups',
|
|
'getGroupList',
|
|
])
|
|
->setConstructorArgs([$this->_oController->getProfile(), d3GetOxidDIC()->get('d3ox.usermanager.'.User::class)])
|
|
->getMock();
|
|
$oActionGroupListMock->method('setGroups');
|
|
$oActionGroupListMock->method('getGroupList')->willReturn($groupedList);
|
|
|
|
/** @var d3usermanager_conf|MockObject $oConfigurationMock */
|
|
$oConfigurationMock = $this->getMockBuilder(d3usermanager_conf::class)
|
|
->onlyMethods(['getGroupedActionIdList'])
|
|
->getMock();
|
|
$oConfigurationMock->method('getGroupedActionIdList')->willReturn($groupedList);
|
|
|
|
/** @var d3usermanager|MockObject $oProfileMock */
|
|
$oProfileMock = $this->getMockBuilder(d3usermanager::class)
|
|
->onlyMethods(['getConfiguration'])
|
|
->getMock();
|
|
$oProfileMock->method('getConfiguration')->willReturn($oConfigurationMock);
|
|
|
|
/** @var d3_cfg_usermanageritem_action|MockObject $oControllerMock */
|
|
$oControllerMock = $this->getMockBuilder(d3_cfg_usermanageritem_action::class)
|
|
->onlyMethods([
|
|
'getProfile',
|
|
'getActionList',
|
|
])
|
|
->getMock();
|
|
$oControllerMock->method('getProfile')->willReturn($oProfileMock);
|
|
$oControllerMock->method('getActionList')->willReturn($groupedList);
|
|
|
|
$this->_oController = $oControllerMock;
|
|
|
|
$aList = $this->callMethod($this->_oController, 'getGroupedActionList');
|
|
|
|
$this->assertIsArray($aList);
|
|
$this->assertCount(2, $aList);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::_d3LoadInOtherLang
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function canLoadInOtherLanguages()
|
|
{
|
|
/** @var d3usermanager|MockObject $oProfileMock */
|
|
$oProfileMock = $this->getMockBuilder(d3usermanager::class)
|
|
->onlyMethods([
|
|
'getAvailableInLangs',
|
|
'loadInLang',
|
|
])
|
|
->getMock();
|
|
$oProfileMock->method('getAvailableInLangs')->willReturn(['de' => 'deutsch']);
|
|
$oProfileMock->expects($this->once())->method('loadInLang')->willReturn(true);
|
|
|
|
$this->setValue($this->_oController, '_iEditLang', 'en');
|
|
|
|
$this->assertSame(
|
|
$oProfileMock,
|
|
$this->callMethod(
|
|
$this->_oController,
|
|
'_d3LoadInOtherLang',
|
|
[$oProfileMock, 'oxid']
|
|
)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::_d3LoadInOtherLang
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function dontNeedLoadInOtherLanguages()
|
|
{
|
|
/** @var d3usermanager|MockObject $oProfileMock */
|
|
$oProfileMock = $this->getMockBuilder(d3usermanager::class)
|
|
->onlyMethods([
|
|
'getAvailableInLangs',
|
|
'loadInLang',
|
|
])
|
|
->getMock();
|
|
$oProfileMock->method('getAvailableInLangs')->willReturn(['de' => 'deutsch']);
|
|
$oProfileMock->expects($this->never())->method('loadInLang')->willReturn(true);
|
|
|
|
$this->setValue($this->_oController, '_iEditLang', 'de');
|
|
|
|
$this->assertSame(
|
|
$oProfileMock,
|
|
$this->callMethod(
|
|
$this->_oController,
|
|
'_d3LoadInOtherLang',
|
|
[$oProfileMock, 'oxid']
|
|
)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function shopCompatHandlerCallback(): string
|
|
{
|
|
$args = func_get_args();
|
|
return '/module/path/'.$args[1][1];
|
|
}
|
|
|
|
/**
|
|
* @covers \D3\Usermanager\Application\Controller\Admin\d3_cfg_usermanageritem_action::markAsFinished
|
|
* @test
|
|
* @throws ReflectionException
|
|
*/
|
|
public function canMarkedAsFinished()
|
|
{
|
|
/** @var d3usermanager|MockObject $oProfileMock */
|
|
$oProfileMock = $this->getMockBuilder(d3usermanager::class)
|
|
->onlyMethods(['markConcernedItemsAsFinished'])
|
|
->getMock();
|
|
$oProfileMock->expects($this->once())->method('markConcernedItemsAsFinished')->willReturn(25);
|
|
|
|
/** @var d3_cfg_usermanageritem_action|MockObject $oControllerMock */
|
|
$oControllerMock = $this->getMockBuilder(d3_cfg_usermanageritem_action::class)
|
|
->onlyMethods(['getProfile'])
|
|
->getMock();
|
|
$oControllerMock->method('getProfile')->willReturn($oProfileMock);
|
|
|
|
$this->_oController = $oControllerMock;
|
|
|
|
$this->callMethod($this->_oController, 'markAsFinished');
|
|
}
|
|
|
|
/**
|
|
* @param $sLicenseKey
|
|
* @param d3usermanager $oManager
|
|
* @return null
|
|
*/
|
|
protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
|
|
{
|
|
return null;
|
|
}
|
|
}
|