mirror of
https://github.com/Karaka-Management/oms-Tasks.git
synced 2026-02-03 17:28:41 +00:00
add tests
This commit is contained in:
parent
df3c7be91a
commit
c85cf94388
26
tests/Admin/AdminTest.php
Normal file
26
tests/Admin/AdminTest.php
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.4
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\tests\Tasks\Admin;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class AdminTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
protected const MODULE_NAME = 'Tasks';
|
||||
protected const URI_LOAD = 'http://127.0.0.1/en/backend/task';
|
||||
|
||||
use \Modules\tests\ModuleTestTrait;
|
||||
}
|
||||
92
tests/BackendControllerTest.php
Normal file
92
tests/BackendControllerTest.php
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.4
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\tests\Task;
|
||||
|
||||
require_once __DIR__ . '/../Autoloader.php';
|
||||
|
||||
use Model\CoreSettings;
|
||||
|
||||
use Modules\Admin\Models\AccountPermission;
|
||||
|
||||
use phpOMS\Account\Account;
|
||||
use phpOMS\Account\AccountManager;
|
||||
use phpOMS\Account\PermissionType;
|
||||
use phpOMS\Application\ApplicationAbstract;
|
||||
use phpOMS\Dispatcher\Dispatcher;
|
||||
use phpOMS\Event\EventManager;
|
||||
use phpOMS\Module\ModuleManager;
|
||||
use phpOMS\Router\WebRouter;
|
||||
use phpOMS\Utils\TestUtils;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class BackendControllerTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
protected $app = null;
|
||||
protected $module = null;
|
||||
|
||||
protected function setUp() : void
|
||||
{
|
||||
$this->app = new class() extends ApplicationAbstract
|
||||
{
|
||||
protected string $appName = 'Backend';
|
||||
};
|
||||
|
||||
$this->app->dbPool = $GLOBALS['dbpool'];
|
||||
$this->app->orgId = 1;
|
||||
$this->app->accountManager = new AccountManager($GLOBALS['session']);
|
||||
$this->app->appSettings = new CoreSettings($this->app->dbPool->get());
|
||||
$this->app->moduleManager = new ModuleManager($this->app, __DIR__ . '/../../../Modules');
|
||||
$this->app->dispatcher = new Dispatcher($this->app);
|
||||
$this->app->eventManager = new EventManager($this->app->dispatcher);
|
||||
$this->app->eventManager->importFromFile(__DIR__ . '/../../../Web/Backend/Hooks.php');
|
||||
|
||||
$account = new Account();
|
||||
TestUtils::setMember($account, 'id', 1);
|
||||
|
||||
$permission = new AccountPermission();
|
||||
$permission->setUnit(1);
|
||||
$permission->setApp('backend');
|
||||
$permission->setPermission(
|
||||
PermissionType::READ
|
||||
| PermissionType::CREATE
|
||||
| PermissionType::MODIFY
|
||||
| PermissionType::DELETE
|
||||
| PermissionType::PERMISSION
|
||||
);
|
||||
|
||||
$account->addPermission($permission);
|
||||
|
||||
$this->app->accountManager->add($account);
|
||||
$this->app->router = new WebRouter();
|
||||
|
||||
$this->module = $this->app->moduleManager->get('Tasks');
|
||||
|
||||
TestUtils::setMember($this->module, 'app', $this->app);
|
||||
}
|
||||
|
||||
public function testNavigation() : void
|
||||
{
|
||||
self::assertEquals(0, $this->module->openNav(999));
|
||||
|
||||
/**
|
||||
* @todo Orange-Management/Modules#206
|
||||
* Implement has seen feature
|
||||
* In order to allow a "user has seen task x" feature every task should have a user/account status for the different users (creator, cc, receiver).
|
||||
*/
|
||||
// self::assertGreaterThan(0, $this->module->openNav(1));
|
||||
}
|
||||
}
|
||||
232
tests/ControllerTest.php
Normal file
232
tests/ControllerTest.php
Normal file
|
|
@ -0,0 +1,232 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.4
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\tests\Task;
|
||||
|
||||
require_once __DIR__ . '/../Autoloader.php';
|
||||
|
||||
use Model\CoreSettings;
|
||||
use Modules\Admin\Models\AccountPermission;
|
||||
use Modules\Tasks\Models\TaskPriority;
|
||||
use Modules\Tasks\Models\TaskStatus;
|
||||
use phpOMS\Account\Account;
|
||||
use phpOMS\Account\AccountManager;
|
||||
use phpOMS\Account\PermissionType;
|
||||
use phpOMS\Application\ApplicationAbstract;
|
||||
use phpOMS\Dispatcher\Dispatcher;
|
||||
use phpOMS\Event\EventManager;
|
||||
use phpOMS\Message\Http\HttpRequest;
|
||||
use phpOMS\Message\Http\HttpResponse;
|
||||
use phpOMS\Module\ModuleManager;
|
||||
use phpOMS\Router\WebRouter;
|
||||
use phpOMS\Uri\HttpUri;
|
||||
use phpOMS\Utils\TestUtils;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class ControllerTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
protected $app = null;
|
||||
protected $module = null;
|
||||
|
||||
protected function setUp() : void
|
||||
{
|
||||
$this->app = new class() extends ApplicationAbstract
|
||||
{
|
||||
protected string $appName = 'Api';
|
||||
};
|
||||
|
||||
$this->app->dbPool = $GLOBALS['dbpool'];
|
||||
$this->app->orgId = 1;
|
||||
$this->app->accountManager = new AccountManager($GLOBALS['session']);
|
||||
$this->app->appSettings = new CoreSettings($this->app->dbPool->get());
|
||||
$this->app->moduleManager = new ModuleManager($this->app, __DIR__ . '/../../../Modules');
|
||||
$this->app->dispatcher = new Dispatcher($this->app);
|
||||
$this->app->eventManager = new EventManager($this->app->dispatcher);
|
||||
$this->app->eventManager->importFromFile(__DIR__ . '/../../../Web/Api/Hooks.php');
|
||||
|
||||
$account = new Account();
|
||||
TestUtils::setMember($account, 'id', 1);
|
||||
|
||||
$permission = new AccountPermission();
|
||||
$permission->setUnit(1);
|
||||
$permission->setApp('backend');
|
||||
$permission->setPermission(
|
||||
PermissionType::READ
|
||||
| PermissionType::CREATE
|
||||
| PermissionType::MODIFY
|
||||
| PermissionType::DELETE
|
||||
| PermissionType::PERMISSION
|
||||
);
|
||||
|
||||
$account->addPermission($permission);
|
||||
|
||||
$this->app->accountManager->add($account);
|
||||
$this->app->router = new WebRouter();
|
||||
|
||||
$this->module = $this->app->moduleManager->get('Tasks');
|
||||
|
||||
TestUtils::setMember($this->module, 'app', $this->app);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Tasks\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testCreateTask() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->getHeader()->setAccount(1);
|
||||
$request->setData('title', 'Controller Test Title');
|
||||
$request->setData('plain', 'Controller Test Description');
|
||||
$request->setData('due', (new \DateTime())->format('Y-m-d H:i:s'));
|
||||
|
||||
$this->module->apiTaskCreate($request, $response);
|
||||
|
||||
self::assertEquals('Controller Test Title', $response->get('')['response']->getTitle());
|
||||
self::assertGreaterThan(0, $response->get('')['response']->getId());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Tasks\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiTaskGet() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->getHeader()->setAccount(1);
|
||||
$request->setData('id', '1');
|
||||
|
||||
$this->module->apiTaskGet($request, $response);
|
||||
|
||||
self::assertEquals(1, $response->get('')['response']->getId());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Tasks\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiTaskSet() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->getHeader()->setAccount(1);
|
||||
$request->setData('id', 1);
|
||||
$request->setData('title', 'New Title');
|
||||
$request->setData('description', 'New Content here');
|
||||
|
||||
$this->module->apiTaskSet($request, $response);
|
||||
$this->module->apiTaskGet($request, $response);
|
||||
|
||||
self::assertEquals('New Title', $response->get('')['response']->getTitle());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Tasks\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testCreateTaskElement() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->getHeader()->setAccount(1);
|
||||
$request->setData('due', (new \DateTime())->format('Y-m-d H:i:s'));
|
||||
$request->setData('priority', TaskPriority::HIGH);
|
||||
$request->setData('status', TaskStatus::DONE);
|
||||
$request->setData('task', 1);
|
||||
$request->setData('plain', 'Controller Test');
|
||||
|
||||
$this->module->apiTaskElementCreate($request, $response);
|
||||
|
||||
self::assertEquals('Controller Test', $response->get('')['response']->getDescriptionRaw());
|
||||
self::assertGreaterThan(0, $response->get('')['response']->getId());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Tasks\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiTaskElementGet() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->getHeader()->setAccount(1);
|
||||
$request->setData('id', '1');
|
||||
|
||||
$this->module->apiTaskElementGet($request, $response);
|
||||
|
||||
self::assertEquals(1, $response->get('')['response']->getId());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Tasks\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testApiTaskElementSet() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->getHeader()->setAccount(1);
|
||||
$request->setData('id', 1);
|
||||
$request->setData('plain', 'This is a changed description');
|
||||
|
||||
$this->module->apiTaskElementSet($request, $response);
|
||||
$this->module->apiTaskElementGet($request, $response);
|
||||
|
||||
self::assertEquals('This is a changed description', $response->get('')['response']->getDescriptionRaw());
|
||||
}
|
||||
|
||||
public function testInvalidTaskCreate() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->getHeader()->setAccount(1);
|
||||
$request->setData('plain', 'Controller Test Description');
|
||||
$request->setData('due', (new \DateTime())->format('Y-m-d H:i:s'));
|
||||
|
||||
$this->module->apiTaskCreate($request, $response);
|
||||
|
||||
self::assertNotEquals([], $response->get(''));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Tasks\Controller\ApiController
|
||||
* @group module
|
||||
*/
|
||||
public function testInvalidTaskElementCreate() : void
|
||||
{
|
||||
$response = new HttpResponse();
|
||||
$request = new HttpRequest(new HttpUri(''));
|
||||
|
||||
$request->getHeader()->setAccount(1);
|
||||
$request->setData('due', (new \DateTime())->format('Y-m-d H:i:s'));
|
||||
$request->setData('priority', TaskPriority::HIGH);
|
||||
$request->setData('status', TaskStatus::DONE);
|
||||
$request->setData('plain', 'Controller Test');
|
||||
|
||||
$this->module->apiTaskElementCreate($request, $response);
|
||||
|
||||
self::assertNotEquals([], $response->get(''));
|
||||
}
|
||||
}
|
||||
49
tests/Models/AccountRelationTest.php
Normal file
49
tests/Models/AccountRelationTest.php
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.4
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\tests\Tasks\Models;
|
||||
|
||||
use Modules\Tasks\Models\AccountRelation;
|
||||
use Modules\Tasks\Models\DutyType;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class AccountRelationTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testDefault() : void
|
||||
{
|
||||
$obj = new AccountRelation();
|
||||
self::assertEquals(0, $obj->getId());
|
||||
self::assertEquals(0, $obj->getRelation());
|
||||
self::assertEquals(DutyType::TO, $obj->getDuty());
|
||||
}
|
||||
|
||||
public function testSetGet() : void
|
||||
{
|
||||
$obj = new AccountRelation(1, DutyType::CC);
|
||||
self::assertEquals(1, $obj->getRelation());
|
||||
self::assertEquals(DutyType::CC, $obj->getDuty());
|
||||
|
||||
self::assertEquals([
|
||||
'id' => 0,
|
||||
'duty' => DutyType::CC,
|
||||
'relation' => 1,
|
||||
], $obj->toArray());
|
||||
self::assertEquals($obj->toArray(), $obj->jsonSerialize());
|
||||
|
||||
$obj->setDuty(DutyType::TO);
|
||||
self::assertEquals(DutyType::TO, $obj->getDuty());
|
||||
}
|
||||
}
|
||||
49
tests/Models/GroupRelationTest.php
Normal file
49
tests/Models/GroupRelationTest.php
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.4
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\tests\Tasks\Models;
|
||||
|
||||
use Modules\Tasks\Models\DutyType;
|
||||
use Modules\Tasks\Models\GroupRelation;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class GroupRelationTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testDefault() : void
|
||||
{
|
||||
$obj = new GroupRelation();
|
||||
self::assertEquals(0, $obj->getId());
|
||||
self::assertEquals(0, $obj->getRelation());
|
||||
self::assertEquals(DutyType::TO, $obj->getDuty());
|
||||
}
|
||||
|
||||
public function testSetGet() : void
|
||||
{
|
||||
$obj = new GroupRelation(1, DutyType::CC);
|
||||
self::assertEquals(1, $obj->getRelation());
|
||||
self::assertEquals(DutyType::CC, $obj->getDuty());
|
||||
|
||||
self::assertEquals([
|
||||
'id' => 0,
|
||||
'duty' => DutyType::CC,
|
||||
'relation' => 1,
|
||||
], $obj->toArray());
|
||||
self::assertEquals($obj->toArray(), $obj->jsonSerialize());
|
||||
|
||||
$obj->setDuty(DutyType::TO);
|
||||
self::assertEquals(DutyType::TO, $obj->getDuty());
|
||||
}
|
||||
}
|
||||
107
tests/Models/TaskElementTest.php
Normal file
107
tests/Models/TaskElementTest.php
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.4
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\tests\Tasks\Models;
|
||||
|
||||
use Modules\Admin\Models\NullAccount;
|
||||
use Modules\Admin\Models\NullGroup;
|
||||
use Modules\Tasks\Models\TaskElement;
|
||||
use Modules\Tasks\Models\TaskPriority;
|
||||
use Modules\Tasks\Models\TaskStatus;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class TaskElementTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testDefault() : void
|
||||
{
|
||||
$task = new TaskElement();
|
||||
|
||||
self::assertEquals(0, $task->getId());
|
||||
self::assertEquals(0, $task->getCreatedBy()->getId());
|
||||
self::assertEquals((new \DateTime('now'))->format('Y-m-d'), $task->getCreatedAt()->format('Y-m-d'));
|
||||
self::assertEquals((new \DateTime('now'))->modify('+1 day')->format('Y-m-d'), $task->getDue()->format('Y-m-d'));
|
||||
self::assertEquals(TaskStatus::OPEN, $task->getStatus());
|
||||
self::assertEquals('', $task->getDescription());
|
||||
self::assertEquals('', $task->getDescriptionRaw());
|
||||
self::assertEquals([], $task->getTo());
|
||||
self::assertEquals([], $task->getCC());
|
||||
self::assertEquals(0, $task->getTask());
|
||||
self::assertEquals(TaskPriority::NONE, $task->getPriority());
|
||||
}
|
||||
|
||||
public function testSetGet() : void
|
||||
{
|
||||
$task = new TaskElement();
|
||||
|
||||
$task->setCreatedBy(new NullAccount(1));
|
||||
self::assertEquals(1, $task->getCreatedBy()->getId());
|
||||
|
||||
$task->setDue($date = new \DateTime('2000-05-07'));
|
||||
self::assertEquals($date->format('Y-m-d'), $task->getDue()->format('Y-m-d'));
|
||||
|
||||
$task->setStatus(TaskStatus::DONE);
|
||||
self::assertEquals(TaskStatus::DONE, $task->getStatus());
|
||||
|
||||
$task->setPriority(TaskPriority::MEDIUM);
|
||||
self::assertEquals(TaskPriority::MEDIUM, $task->getPriority());
|
||||
|
||||
$task->setDescription('Description');
|
||||
self::assertEquals('Description', $task->getDescription());
|
||||
|
||||
$task->setDescriptionRaw('DescriptionRaw');
|
||||
self::assertEquals('DescriptionRaw', $task->getDescriptionRaw());
|
||||
|
||||
$task->setTask(2);
|
||||
self::assertEquals(2, $task->getTask());
|
||||
|
||||
$task->addTo(new NullAccount(3));
|
||||
$task->addTo(new NullAccount(3)); // test duplicate
|
||||
self::assertTrue($task->isToAccount(3));
|
||||
|
||||
$task->addGroupTo(new NullGroup(4));
|
||||
$task->addGroupTo(new NullGroup(4)); // test duplicate
|
||||
self::assertTrue($task->isToGroup(4));
|
||||
|
||||
$task->addCC(new NullAccount(5));
|
||||
$task->addCC(new NullAccount(5)); // test duplicate
|
||||
self::assertTrue($task->isCCAccount(5));
|
||||
|
||||
$task->addGroupCC(new NullGroup(6));
|
||||
$task->addGroupCC(new NullGroup(6)); // test duplicate
|
||||
self::assertTrue($task->isCCGroup(6));
|
||||
|
||||
self::assertFalse($task->isToAccount(7));
|
||||
self::assertFalse($task->isCCAccount(8));
|
||||
self::assertFalse($task->isToGroup(9));
|
||||
self::assertFalse($task->isCCGroup(10));
|
||||
}
|
||||
|
||||
public function testInvalidStatus() : void
|
||||
{
|
||||
self::expectException(\phpOMS\Stdlib\Base\Exception\InvalidEnumValue::class);
|
||||
|
||||
$task = new TaskElement();
|
||||
$task->setStatus(9999);
|
||||
}
|
||||
|
||||
public function testInvalidPriority() : void
|
||||
{
|
||||
self::expectException(\phpOMS\Stdlib\Base\Exception\InvalidEnumValue::class);
|
||||
|
||||
$task = new TaskElement();
|
||||
$task->setPriority(9999);
|
||||
}
|
||||
}
|
||||
261
tests/Models/TaskMapperTest.php
Normal file
261
tests/Models/TaskMapperTest.php
Normal file
|
|
@ -0,0 +1,261 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.4
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\tests\Tasks\Models;
|
||||
|
||||
use Modules\Admin\Models\NullAccount;
|
||||
use Modules\Admin\Models\NullGroup;
|
||||
use Modules\Media\Models\Media;
|
||||
use Modules\Tasks\Models\Task;
|
||||
use Modules\Tasks\Models\TaskElement;
|
||||
use Modules\Tasks\Models\TaskMapper;
|
||||
use Modules\Tasks\Models\TaskPriority;
|
||||
use Modules\Tasks\Models\TaskStatus;
|
||||
use phpOMS\Utils\RnG\Text;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class TaskMapperTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testDefault() : void
|
||||
{
|
||||
self::assertEquals([], TaskMapper::getOpenCreatedBy(999));
|
||||
self::assertEquals(0, TaskMapper::countUnread(999));
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Tasks\Models\TaskMapper
|
||||
* @group module
|
||||
*/
|
||||
public function testCRUD() : void
|
||||
{
|
||||
$task = new Task();
|
||||
|
||||
$task->setCreatedBy(new NullAccount(1));
|
||||
$task->getSchedule()->setCreatedBy(new NullAccount(1));
|
||||
$task->setStart(new \DateTime('2005-05-05'));
|
||||
$task->setTitle('Task Test');
|
||||
$task->setStatus(TaskStatus::OPEN);
|
||||
$task->setClosable(false);
|
||||
$task->setPriority(TaskPriority::HIGH);
|
||||
$task->setDescription('Description');
|
||||
$task->setDescriptionRaw('DescriptionRaw');
|
||||
$task->setDone(new \DateTime('2000-05-06'));
|
||||
$task->setDue(new \DateTime('2000-05-05'));
|
||||
|
||||
$taskElement1 = new TaskElement();
|
||||
$taskElement1->setDescription('Desc1');
|
||||
$taskElement1->setCreatedBy(new NullAccount(1));
|
||||
$taskElement1->setStatus($task->getStatus());
|
||||
$task->addElement($taskElement1);
|
||||
|
||||
$media = new Media();
|
||||
$media->setCreatedBy(new NullAccount(1));
|
||||
$media->setDescription('desc');
|
||||
$media->setPath('some/path');
|
||||
$media->setSize(11);
|
||||
$media->setExtension('png');
|
||||
$media->setName('Task Element Media');
|
||||
$taskElement1->addMedia($media);
|
||||
|
||||
$taskElement2 = new TaskElement();
|
||||
$taskElement2->setDescription('Desc2');
|
||||
$taskElement2->setCreatedBy(new NullAccount(1));
|
||||
$taskElement2->setStatus($task->getStatus());
|
||||
$taskElement2->addAccountTo(new NullAccount(1));
|
||||
$taskElement2->addAccountCC(new NullAccount(1));
|
||||
$taskElement2->addGroupTo(new NullGroup(1));
|
||||
$taskElement2->addGroupCC(new NullGroup(1));
|
||||
$task->addElement($taskElement2);
|
||||
|
||||
$media = new Media();
|
||||
$media->setCreatedBy(new NullAccount(1));
|
||||
$media->setDescription('desc');
|
||||
$media->setPath('some/path');
|
||||
$media->setSize(11);
|
||||
$media->setExtension('png');
|
||||
$media->setName('Task Media');
|
||||
$task->addMedia($media);
|
||||
|
||||
$id = TaskMapper::create($task);
|
||||
self::assertGreaterThan(0, $task->getId());
|
||||
self::assertEquals($id, $task->getId());
|
||||
|
||||
$taskR = TaskMapper::get($task->getId());
|
||||
self::assertEquals($task->getCreatedAt()->format('Y-m-d'), $taskR->getCreatedAt()->format('Y-m-d'));
|
||||
self::assertEquals($task->getStart()->format('Y-m-d'), $taskR->getStart()->format('Y-m-d'));
|
||||
self::assertEquals($task->getCreatedBy()->getId(), $taskR->getCreatedBy()->getId());
|
||||
self::assertEquals($task->getDescription(), $taskR->getDescription());
|
||||
self::assertEquals($task->getDescriptionRaw(), $taskR->getDescriptionRaw());
|
||||
self::assertEquals($task->getTitle(), $taskR->getTitle());
|
||||
self::assertEquals($task->getStatus(), $taskR->getStatus());
|
||||
self::assertEquals($task->isClosable(), $taskR->isClosable());
|
||||
self::assertEquals($task->getType(), $taskR->getType());
|
||||
self::assertEquals($task->getDone()->format('Y-m-d'), $taskR->getDone()->format('Y-m-d'));
|
||||
self::assertEquals($task->getDue()->format('Y-m-d'), $taskR->getDue()->format('Y-m-d'));
|
||||
self::assertGreaterThan(0, TaskMapper::countUnread(1));
|
||||
|
||||
$expected = $task->getMedia();
|
||||
$actual = $taskR->getMedia();
|
||||
self::assertEquals(\end($expected)->getName(), \end($actual)->getName());
|
||||
|
||||
$expected = $task->getTaskElements();
|
||||
$actual = $taskR->getTaskElements();
|
||||
|
||||
$expectedMedia = \reset($expected)->getMedia();
|
||||
$actualMedia = \reset($actual)->getMedia();
|
||||
|
||||
self::assertEquals(\end($expected)->getDescription(), \end($actual)->getDescription());
|
||||
self::assertEquals(\end($expectedMedia)->getName(), \end($actualMedia)->getName());
|
||||
|
||||
self::assertTrue(\end($actual)->isToAccount(1));
|
||||
self::assertTrue(\end($actual)->isToGroup(1));
|
||||
self::assertTrue(\end($actual)->isCCAccount(1));
|
||||
self::assertTrue(\end($actual)->isCCGroup(1));
|
||||
|
||||
self::assertCount(2, \end($actual)->getTo());
|
||||
self::assertCount(2, \end($actual)->getCC());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Modules\Tasks\Models\TaskMapper
|
||||
* @group module
|
||||
*/
|
||||
public function testNewest() : void
|
||||
{
|
||||
$newest = TaskMapper::getNewest(1);
|
||||
|
||||
self::assertCount(1, $newest);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group volume
|
||||
* @group module
|
||||
* @coversNothing
|
||||
*/
|
||||
public function testCreatedByMeForMe() : void
|
||||
{
|
||||
$text = new Text();
|
||||
|
||||
$taskStatus = TaskStatus::getConstants();
|
||||
|
||||
foreach ($taskStatus as $status) {
|
||||
$task = new Task();
|
||||
|
||||
$task->setCreatedBy(new NullAccount(1));
|
||||
$task->getSchedule()->setCreatedBy(new NullAccount(1));
|
||||
$task->setStart(new \DateTime('2005-05-05'));
|
||||
$task->setTitle($text->generateText(\mt_rand(1, 5)));
|
||||
$task->setStatus($status);
|
||||
$task->setDescription($text->generateText(\mt_rand(10, 30)));
|
||||
$task->setDone(new \DateTime('2000-05-06'));
|
||||
$task->setDue(new \DateTime('2000-05-05'));
|
||||
|
||||
$taskElement1 = new TaskElement();
|
||||
$taskElement1->setDescription($text->generateText(\mt_rand(3, 20)));
|
||||
$taskElement1->setCreatedBy(new NullAccount(1));
|
||||
$taskElement1->setStatus($status);
|
||||
$task->addElement($taskElement1);
|
||||
|
||||
$taskElement2 = new TaskElement();
|
||||
$taskElement2->setDescription('Desc2');
|
||||
$taskElement2->setCreatedBy(new NullAccount(1));
|
||||
$taskElement2->setStatus($status);
|
||||
$task->addElement($taskElement2);
|
||||
|
||||
$id = TaskMapper::create($task);
|
||||
}
|
||||
|
||||
self::assertGreaterThan(0, TaskMapper::countUnread(1));
|
||||
}
|
||||
|
||||
/**
|
||||
* @group volume
|
||||
* @group module
|
||||
* @coversNothing
|
||||
*/
|
||||
public function testCreatedByMeForOther() : void
|
||||
{
|
||||
$text = new Text();
|
||||
|
||||
$taskStatus = TaskStatus::getConstants();
|
||||
|
||||
foreach ($taskStatus as $status) {
|
||||
$task = new Task();
|
||||
|
||||
$task->setCreatedBy(new NullAccount(1));
|
||||
$task->getSchedule()->setCreatedBy(new NullAccount(1));
|
||||
$task->setTitle($text->generateText(\mt_rand(1, 5)));
|
||||
$task->setStatus($status);
|
||||
$task->setClosable(true);
|
||||
$task->setDescription($text->generateText(\mt_rand(10, 30)));
|
||||
$task->setDone(new \DateTime('2000-05-06'));
|
||||
$task->setDue(new \DateTime('2000-05-05'));
|
||||
|
||||
$taskElement1 = new TaskElement();
|
||||
$taskElement1->setDescription($text->generateText(\mt_rand(3, 20)));
|
||||
$taskElement1->setCreatedBy(new NullAccount(1));
|
||||
$taskElement1->setStatus($status);
|
||||
$task->addElement($taskElement1);
|
||||
|
||||
$taskElement2 = new TaskElement();
|
||||
$taskElement2->setDescription($text->generateText(\mt_rand(3, 20)));
|
||||
$taskElement2->setCreatedBy(new NullAccount(1));
|
||||
$taskElement2->setStatus($status);
|
||||
$task->addElement($taskElement2);
|
||||
|
||||
$id = TaskMapper::create($task);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @group volume
|
||||
* @group module
|
||||
* @coversNothing
|
||||
*/
|
||||
public function testCreatedByOtherForMe() : void
|
||||
{
|
||||
$text = new Text();
|
||||
|
||||
$taskStatus = TaskStatus::getConstants();
|
||||
|
||||
foreach ($taskStatus as $status) {
|
||||
$task = new Task();
|
||||
|
||||
$task->setCreatedBy(new NullAccount(1));
|
||||
$task->getSchedule()->setCreatedBy(new NullAccount(1));
|
||||
$task->setTitle($text->generateText(\mt_rand(1, 5)));
|
||||
$task->setStatus($status);
|
||||
$task->setClosable(true);
|
||||
$task->setDescription($text->generateText(\mt_rand(10, 30)));
|
||||
$task->setDone(new \DateTime('2000-05-06'));
|
||||
$task->setDue(new \DateTime('2000-05-05'));
|
||||
|
||||
$taskElement1 = new TaskElement();
|
||||
$taskElement1->setDescription($text->generateText(\mt_rand(3, 20)));
|
||||
$taskElement1->setCreatedBy(new NullAccount(1));
|
||||
$taskElement1->setStatus($status);
|
||||
$task->addElement($taskElement1);
|
||||
|
||||
$taskElement2 = new TaskElement();
|
||||
$taskElement2->setDescription($text->generateText(\mt_rand(3, 20)));
|
||||
$taskElement2->setCreatedBy(new NullAccount(1));
|
||||
$taskElement2->setStatus($status);
|
||||
$task->addElement($taskElement2);
|
||||
|
||||
$id = TaskMapper::create($task);
|
||||
}
|
||||
}
|
||||
}
|
||||
179
tests/Models/TaskTest.php
Normal file
179
tests/Models/TaskTest.php
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.4
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\tests\Tasks\Models;
|
||||
|
||||
use Modules\Admin\Models\NullAccount;
|
||||
use Modules\Admin\Models\NullGroup;
|
||||
use Modules\Tasks\Models\Task;
|
||||
use Modules\Tasks\Models\TaskElement;
|
||||
use Modules\Tasks\Models\TaskPriority;
|
||||
use Modules\Tasks\Models\TaskStatus;
|
||||
use Modules\Tasks\Models\TaskType;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class TaskTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testDefault() : void
|
||||
{
|
||||
$task = new Task();
|
||||
|
||||
self::assertEquals(0, $task->getId());
|
||||
self::assertEquals(0, $task->getCreatedBy()->getId());
|
||||
self::assertEquals('', $task->getTitle());
|
||||
self::assertFalse($task->isToAccount(0));
|
||||
self::assertFalse($task->isCCAccount(0));
|
||||
self::assertFalse($task->isToGroup(0));
|
||||
self::assertFalse($task->isCCGroup(0));
|
||||
self::assertTrue($task->isEditable());
|
||||
self::assertEquals((new \DateTime('now'))->format('Y-m-d'), $task->getCreatedAt()->format('Y-m-d'));
|
||||
self::assertEquals((new \DateTime('now'))->format('Y-m-d'), $task->getStart()->format('Y-m-d'));
|
||||
self::assertNull($task->getDone());
|
||||
self::assertEquals((new \DateTime('now'))->modify('+1 day')->format('Y-m-d'), $task->getDue()->format('Y-m-d'));
|
||||
self::assertEquals(TaskStatus::OPEN, $task->getStatus());
|
||||
self::assertTrue($task->isClosable());
|
||||
self::assertEquals(TaskPriority::NONE, $task->getPriority());
|
||||
self::assertEquals(TaskType::SINGLE, $task->getType());
|
||||
self::assertEquals([], $task->getTaskElements());
|
||||
self::assertEquals('', $task->getDescription());
|
||||
self::assertEquals('', $task->getDescriptionRaw());
|
||||
self::assertInstanceOf('\Modules\Tasks\Models\NullTaskElement', $task->getTaskElement(1));
|
||||
}
|
||||
|
||||
public function testSetGet() : void
|
||||
{
|
||||
$task = new Task();
|
||||
|
||||
$task->setCreatedBy(new NullAccount(1));
|
||||
self::assertEquals(1, $task->getCreatedBy()->getId());
|
||||
|
||||
$task->setStart($date = new \DateTime('2005-05-05'));
|
||||
self::assertEquals($date->format('Y-m-d'), $task->getStart()->format('Y-m-d'));
|
||||
|
||||
$task->setTitle('Title');
|
||||
self::assertEquals('Title', $task->getTitle());
|
||||
|
||||
$task->setDone($date = new \DateTime('2000-05-06'));
|
||||
self::assertEquals($date->format('Y-m-d'), $task->getDone()->format('Y-m-d'));
|
||||
|
||||
$task->setDue($date = new \DateTime('2000-05-07'));
|
||||
self::assertEquals($date->format('Y-m-d'), $task->getDue()->format('Y-m-d'));
|
||||
|
||||
$task->setStatus(TaskStatus::DONE);
|
||||
self::assertEquals(TaskStatus::DONE, $task->getStatus());
|
||||
|
||||
$task->setClosable(false);
|
||||
self::assertFalse($task->isClosable());
|
||||
|
||||
$task->setPriority(TaskPriority::LOW);
|
||||
self::assertEquals(TaskPriority::LOW, $task->getPriority());
|
||||
|
||||
$taskElement1 = new TaskElement();
|
||||
$taskElement1->addTo(new NullAccount(2));
|
||||
$taskElement1->addGroupTo(new NullGroup(4));
|
||||
$taskElement1->addCC(new NullAccount(6));
|
||||
$taskElement1->addGroupCC(new NullGroup(8));
|
||||
|
||||
$taskElement2 = new TaskElement();
|
||||
$taskElement2->addTo(new NullAccount(3));
|
||||
$taskElement2->addGroupTo(new NullGroup(5));
|
||||
$taskElement2->addCC(new NullAccount(7));
|
||||
$taskElement2->addGroupCC(new NullGroup(9));
|
||||
|
||||
$id = [];
|
||||
$id[] = $task->addElement($taskElement1);
|
||||
$id[] = $task->addElement($taskElement2);
|
||||
|
||||
self::assertTrue($task->isToAccount(2));
|
||||
self::assertTrue($task->isToAccount(3));
|
||||
self::assertTrue($task->isToGroup(4));
|
||||
self::assertTrue($task->isToGroup(5));
|
||||
|
||||
self::assertTrue($task->isCCAccount(6));
|
||||
self::assertTrue($task->isCCAccount(7));
|
||||
self::assertTrue($task->isCCGroup(8));
|
||||
self::assertTrue($task->isCCGroup(9));
|
||||
|
||||
$success = $task->removeElement(99);
|
||||
self::assertFalse($success);
|
||||
|
||||
$success = $task->removeElement($id[1]);
|
||||
self::assertTrue($success);
|
||||
|
||||
self::assertEquals(0, $task->getTaskElements()[0]->getId());
|
||||
self::assertEquals(0, $task->getTaskElement(0)->getId());
|
||||
|
||||
$task->setDescription('Description');
|
||||
self::assertEquals('Description', $task->getDescription());
|
||||
|
||||
$task->setDescriptionRaw('DescriptionRaw');
|
||||
self::assertEquals('DescriptionRaw', $task->getDescriptionRaw());
|
||||
|
||||
$task->setEditable(false);
|
||||
self::assertFalse($task->isEditable());
|
||||
|
||||
self::assertInstanceOf('\Modules\Tasks\Models\TaskElement', $task->getTaskElement(1));
|
||||
|
||||
$arr = [
|
||||
'id' => 0,
|
||||
'createdBy' => $task->getCreatedBy(),
|
||||
'createdAt' => $task->getCreatedAt(),
|
||||
'title' => $task->getTitle(),
|
||||
'description' => $task->getDescription(),
|
||||
'status' => $task->getStatus(),
|
||||
'type' => $task->getType(),
|
||||
'priority' => $task->getPriority(),
|
||||
'due' => $task->getDue(),
|
||||
'done' => $task->getDone(),
|
||||
];
|
||||
|
||||
$isSubset = true;
|
||||
$parent = $task->toArray();
|
||||
foreach ($arr as $key => $value) {
|
||||
if (!isset($parent[$key]) || $parent[$key] !== $value) {
|
||||
$isSubset = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
self::assertTrue($isSubset);
|
||||
|
||||
$isSubset = true;
|
||||
$parent = $task->jsonSerialize();
|
||||
foreach ($arr as $key => $value) {
|
||||
if (!isset($parent[$key]) || $parent[$key] !== $value) {
|
||||
$isSubset = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
self::assertTrue($isSubset);
|
||||
}
|
||||
|
||||
public function testInvalidStatus() : void
|
||||
{
|
||||
self::expectException(\phpOMS\Stdlib\Base\Exception\InvalidEnumValue::class);
|
||||
|
||||
$task = new Task();
|
||||
$task->setStatus(9999);
|
||||
}
|
||||
|
||||
public function testInvalidPriority() : void
|
||||
{
|
||||
self::expectException(\phpOMS\Stdlib\Base\Exception\InvalidEnumValue::class);
|
||||
|
||||
$task = new Task();
|
||||
$task->setPriority(9999);
|
||||
}
|
||||
}
|
||||
195
tests/Tasks.side
Normal file
195
tests/Tasks.side
Normal file
|
|
@ -0,0 +1,195 @@
|
|||
{
|
||||
"id": "3043757f-163e-49bd-ab5b-b7eb855956f4",
|
||||
"version": "2.0",
|
||||
"name": "Tasks",
|
||||
"url": "http://127.0.0.1",
|
||||
"tests": [{
|
||||
"id": "40f10400-f840-463e-8112-a9464e20239b",
|
||||
"name": "Create Task",
|
||||
"commands": [{
|
||||
"id": "069531fb-c35a-4de0-a830-3180c8910f7a",
|
||||
"comment": "",
|
||||
"command": "open",
|
||||
"target": "/",
|
||||
"targets": [],
|
||||
"value": ""
|
||||
}, {
|
||||
"id": "51c7fc32-f3c0-49d7-b613-3a2d8c5c97aa",
|
||||
"comment": "",
|
||||
"command": "setWindowSize",
|
||||
"target": "1218x855",
|
||||
"targets": [],
|
||||
"value": ""
|
||||
}, {
|
||||
"id": "55379c1d-b200-4460-953d-a735e5a5bf16",
|
||||
"comment": "",
|
||||
"command": "click",
|
||||
"target": "css=#t-nav a[href=\"task/dashboard\"]",
|
||||
"targets": [
|
||||
["css=li:nth-child(4) .link", "css:finder"],
|
||||
["xpath=//ul[@id='t-nav']/li[4]/a/span", "xpath:idRelative"],
|
||||
["xpath=//li[4]/a/span", "xpath:position"],
|
||||
["xpath=//span[contains(.,'Tasks')]", "xpath:innerText"]
|
||||
],
|
||||
"value": ""
|
||||
}, {
|
||||
"id": "76d882d5-e4af-48fa-9152-41780a63594c",
|
||||
"comment": "",
|
||||
"command": "click",
|
||||
"target": "linkText=Create",
|
||||
"targets": [
|
||||
["linkText=Create", "linkText"],
|
||||
["css=.nav-top > li:nth-child(2) > a", "css:finder"],
|
||||
["xpath=//a[contains(text(),'Create')]", "xpath:link"],
|
||||
["xpath=//div[@id='content']/div/div/ul/li[2]/a", "xpath:idRelative"],
|
||||
["xpath=//a[contains(@href, 'task/create')]", "xpath:href"],
|
||||
["xpath=//div/div/ul/li[2]/a", "xpath:position"],
|
||||
["xpath=//a[contains(.,'Create')]", "xpath:innerText"]
|
||||
],
|
||||
"value": ""
|
||||
}, {
|
||||
"id": "73a875a4-a72f-4654-a217-fe2ca4b781a4",
|
||||
"comment": "",
|
||||
"command": "click",
|
||||
"target": "id=iiReceiver",
|
||||
"targets": [
|
||||
["id=iiReceiver", "id"],
|
||||
["css=#iiReceiver", "css:finder"],
|
||||
["xpath=//input[@id='iiReceiver']", "xpath:attributes"],
|
||||
["xpath=//div[@id='iReceiver']/input", "xpath:idRelative"],
|
||||
["xpath=//div/input", "xpath:position"]
|
||||
],
|
||||
"value": ""
|
||||
}, {
|
||||
"id": "3909e97f-9cd3-4d3a-9e8f-cbfdd3f367f9",
|
||||
"comment": "",
|
||||
"command": "type",
|
||||
"target": "id=iiReceiver",
|
||||
"targets": [
|
||||
["id=iiReceiver", "id"],
|
||||
["css=#iiReceiver", "css:finder"],
|
||||
["xpath=//input[@id='iiReceiver']", "xpath:attributes"],
|
||||
["xpath=//div[@id='iReceiver']/input", "xpath:idRelative"],
|
||||
["xpath=//div/input", "xpath:position"]
|
||||
],
|
||||
"value": "admin"
|
||||
}, {
|
||||
"id": "c6380adf-878a-41ba-a177-d46c252ac820",
|
||||
"comment": "",
|
||||
"command": "click",
|
||||
"target": "css=tbody > tr:nth-child(1) > td:nth-child(3)",
|
||||
"targets": [
|
||||
["css=tbody > tr:nth-child(1) > td:nth-child(3)", "css:finder"],
|
||||
["xpath=//div[@id='iReceiver-dropdown']/table/tbody/tr/td[3]", "xpath:idRelative"],
|
||||
["xpath=//tbody/tr/td[3]", "xpath:position"]
|
||||
],
|
||||
"value": ""
|
||||
}, {
|
||||
"id": "92956ab4-b9e3-4e71-9422-eedde614a809",
|
||||
"comment": "",
|
||||
"command": "click",
|
||||
"target": "id=iTitle",
|
||||
"targets": [
|
||||
["id=iTitle", "id"],
|
||||
["name=title", "name"],
|
||||
["css=#iTitle", "css:finder"],
|
||||
["xpath=//input[@id='iTitle']", "xpath:attributes"],
|
||||
["xpath=//form[@id='fTask']/table/tbody/tr[10]/td/input", "xpath:idRelative"],
|
||||
["xpath=//tr[10]/td/input", "xpath:position"]
|
||||
],
|
||||
"value": ""
|
||||
}, {
|
||||
"id": "8576812f-223a-42c5-86c2-20e59322fcc6",
|
||||
"comment": "",
|
||||
"command": "type",
|
||||
"target": "id=iTitle",
|
||||
"targets": [
|
||||
["id=iTitle", "id"],
|
||||
["name=title", "name"],
|
||||
["css=#iTitle", "css:finder"],
|
||||
["xpath=//input[@id='iTitle']", "xpath:attributes"],
|
||||
["xpath=//form[@id='fTask']/table/tbody/tr[10]/td/input", "xpath:idRelative"],
|
||||
["xpath=//tr[10]/td/input", "xpath:position"]
|
||||
],
|
||||
"value": "Selenium Task"
|
||||
}, {
|
||||
"id": "fa370c1c-9c4d-4d8c-a443-bd67350d2d61",
|
||||
"comment": "",
|
||||
"command": "click",
|
||||
"target": "name=plain",
|
||||
"targets": [
|
||||
["name=plain", "name"],
|
||||
["css=textarea", "css:finder"],
|
||||
["xpath=//textarea[@name='plain']", "xpath:attributes"],
|
||||
["xpath=//div[@id='task-editor']/div/div/textarea", "xpath:idRelative"],
|
||||
["xpath=//textarea", "xpath:position"]
|
||||
],
|
||||
"value": ""
|
||||
}, {
|
||||
"id": "1e6d7a03-c619-41bf-a9db-281fdcfc34f7",
|
||||
"comment": "",
|
||||
"command": "type",
|
||||
"target": "name=plain",
|
||||
"targets": [
|
||||
["name=plain", "name"],
|
||||
["css=textarea", "css:finder"],
|
||||
["xpath=//textarea[@name='plain']", "xpath:attributes"],
|
||||
["xpath=//div[@id='task-editor']/div/div/textarea", "xpath:idRelative"],
|
||||
["xpath=//textarea", "xpath:position"]
|
||||
],
|
||||
"value": " This is a Selenium Task"
|
||||
}, {
|
||||
"id": "48330cc9-770c-4767-bfaa-e5b31302899e",
|
||||
"comment": "",
|
||||
"command": "click",
|
||||
"target": "id=iCreateSubmit",
|
||||
"targets": [
|
||||
["css=tr:nth-child(14) input:nth-child(1)", "css:finder"],
|
||||
["xpath=//input[@value='Create']", "xpath:attributes"],
|
||||
["xpath=//form[@id='fTask']/table/tbody/tr[14]/td/input", "xpath:idRelative"],
|
||||
["xpath=//tr[14]/td/input", "xpath:position"]
|
||||
],
|
||||
"value": ""
|
||||
}, {
|
||||
"id": "0438a34f-26fd-4f27-8f40-89340422c887",
|
||||
"comment": "",
|
||||
"command": "click",
|
||||
"target": "linkText=List",
|
||||
"targets": [
|
||||
["linkText=List", "linkText"],
|
||||
["css=.nav-top > li:nth-child(1) > a", "css:finder"],
|
||||
["xpath=//a[contains(text(),'List')]", "xpath:link"],
|
||||
["xpath=//div[@id='content']/div/div/ul/li/a", "xpath:idRelative"],
|
||||
["xpath=(//a[contains(@href, 'task/dashboard')])[2]", "xpath:href"],
|
||||
["xpath=//div/div/ul/li/a", "xpath:position"],
|
||||
["xpath=//a[contains(.,'List')]", "xpath:innerText"]
|
||||
],
|
||||
"value": ""
|
||||
}, {
|
||||
"id": "e6a56bed-7447-4e63-abf4-365361b942ee",
|
||||
"comment": "",
|
||||
"command": "click",
|
||||
"target": "linkText=Selenium Task",
|
||||
"targets": [
|
||||
["linkText=2019-06-15 13:29", "linkText"],
|
||||
["css=tr:nth-child(1) > td:nth-child(2) > a", "css:finder"],
|
||||
["xpath=//a[contains(text(),'2019-06-15 13:29')]", "xpath:link"],
|
||||
["xpath=//table[@id='taskList']/tbody/tr/td[2]/a", "xpath:idRelative"],
|
||||
["xpath=(//a[contains(@href, 'task/single?id=40')])[2]", "xpath:href"],
|
||||
["xpath=//td[2]/a", "xpath:position"],
|
||||
["xpath=//a[contains(.,'2019-06-15 13:29')]", "xpath:innerText"]
|
||||
],
|
||||
"value": ""
|
||||
}]
|
||||
}],
|
||||
"suites": [{
|
||||
"id": "b6e138a0-7972-48bc-8b42-589aa6617b9e",
|
||||
"name": "Default Suite",
|
||||
"persistSession": false,
|
||||
"parallel": false,
|
||||
"timeout": 300,
|
||||
"tests": ["40f10400-f840-463e-8112-a9464e20239b"]
|
||||
}],
|
||||
"urls": ["http://127.0.0.1/"],
|
||||
"plugins": []
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user