101 Zeilen
3.3 KiB
PHP
101 Zeilen
3.3 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\integration\Actions;
|
|
|
|
use D3\Usermanager\Application\Model\d3usermanager;
|
|
use D3\Usermanager\Application\Model\d3usermanager_execute;
|
|
use D3\Usermanager\Application\Model\d3usermanager_listgenerator;
|
|
use D3\Usermanager\Application\Model\d3usermanager_touserassignment;
|
|
use D3\Usermanager\tests\integration\d3IntegrationTestCase;
|
|
use OxidEsales\Eshop\Application\Model\User;
|
|
use OxidEsales\Eshop\Core\Model\ListModel;
|
|
use PHPUnit\Framework\MockObject\MockObject;
|
|
|
|
abstract class d3ActionIntegrationTestCase extends d3IntegrationTestCase
|
|
{
|
|
/**
|
|
* @param array $aUserIdList
|
|
*
|
|
* @return ListModel
|
|
*/
|
|
public function getResultList($aUserIdList = []): ListModel
|
|
{
|
|
/** @var ListModel $oList */
|
|
$oList = d3GetOxidDIC()->get('d3ox.usermanager.'.ListModel::class);
|
|
$oList->init(User::class);
|
|
|
|
foreach ($aUserIdList as $sId) {
|
|
/** @var User $oUser */
|
|
$oUser = d3GetOxidDIC()->get('d3ox.usermanager.'.User::class);
|
|
$oUser->load($sId);
|
|
$oList->offsetSet($oUser->getId(), $oUser);
|
|
}
|
|
|
|
return $oList;
|
|
}
|
|
|
|
/**
|
|
* @param d3usermanager $oManager
|
|
* @return d3usermanager_listgenerator|MockObject
|
|
*/
|
|
public function getListGenerator(d3usermanager $oManager)
|
|
{
|
|
/** @var d3usermanager_listgenerator|MockObject $oListGeneratorMock */
|
|
$oListGeneratorMock = $this->getMockBuilder(d3usermanager_listgenerator::class)
|
|
->onlyMethods(['getConcernedItems'])
|
|
->setConstructorArgs([$oManager])
|
|
->getMock();
|
|
$oListGeneratorMock->method('getConcernedItems')->willReturn($this->getFilledResultList());
|
|
|
|
return $oListGeneratorMock;
|
|
}
|
|
|
|
abstract public function getFilledResultList();
|
|
|
|
/**
|
|
* @param d3usermanager $oManager
|
|
* @return d3usermanager_touserassignment|MockObject
|
|
*/
|
|
public function getManagerAssignmentMock(d3usermanager $oManager)
|
|
{
|
|
$oAssignmentMock = $this->getMockBuilder(d3usermanager_touserassignment::class)
|
|
->onlyMethods(['setAssignment'])
|
|
->setConstructorArgs([$oManager])
|
|
->getMock();
|
|
$oAssignmentMock->method('setAssignment');
|
|
|
|
return $oAssignmentMock;
|
|
}
|
|
|
|
/**
|
|
* @param d3usermanager $oConfiguredManager
|
|
* @return d3usermanager_execute|MockObject
|
|
*/
|
|
public function getExecuteMock(d3usermanager $oConfiguredManager)
|
|
{
|
|
/** @var d3usermanager_execute|MockObject $oExecute */
|
|
$oExecute = $this->getMockBuilder(d3usermanager_execute::class)
|
|
->onlyMethods(['getManagerAssignmentInstance'])
|
|
->setConstructorArgs([$oConfiguredManager])
|
|
->getMock();
|
|
$oExecute->method('getManagerAssignmentInstance')->willReturn($this->getManagerAssignmentMock($oExecute->getManager()));
|
|
|
|
return $oExecute;
|
|
}
|
|
}
|