tao-test/app/taoQtiTest/test/integration/TestModelTest.php

93 lines
2.9 KiB
PHP

<?php
/**
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; under version 2
* of the License (non-upgradable).
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* Copyright (c) 2014 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
*
*/
namespace oat\taoQtiTest\test\integration;
use oat\generis\test\GenerisPhpUnitTestRunner;
use oat\taoQtiTest\models\TestModelService;
use oat\generis\test\MockObject;
class TestModelTest extends GenerisPhpUnitTestRunner
{
/**
*
* @author Lionel Lecaque, lionel@taotesting.com
* @param string $uri
* @return MockObject
*/
private function getResourceMock($uri)
{
$resourceMock = $this->getMockBuilder('core_kernel_classes_Resource')
->setMockClassName('FakeResource')
->setConstructorArgs([
$uri
])
->getMock();
return $resourceMock;
}
/**
*
* @author Lionel Lecaque, lionel@taotesting.com
*/
public function testGetAuthoringUrl()
{
$fakeUri = 'http://fakens.rdf#fakeItemUri';
$model = new TestModelService();
$resourceMock = $this->getResourceMock($fakeUri);
$resourceMock->expects($this->once())
->method('getUri')
->will($this->returnValue($fakeUri));
$url = $model->getAuthoringUrl($resourceMock);
$this->assertEquals(1, preg_match('/uri=' . urlencode($fakeUri) . '/', $url));
}
/**
* Verify that TestModel import handlers are known and tested
*/
public function testTestModelImportHandlers()
{
$model = new TestModelService(['importHandlers' => [
new \taoQtiTest_models_classes_import_TestImport()
]]);
$handlers = $model->getImportHandlers();
$this->assertCount(1, $handlers);
$handler = reset($handlers);
$this->assertInstanceOf('taoQtiTest_models_classes_import_TestImport', $handler);
}
/**
* Verify that TestModel export handlers are known and tested
*/
public function testTestModelExportHandlers()
{
$model = new TestModelService(['exportHandlers' => [
new \taoQtiTest_models_classes_export_TestExport()
]]);
$handlers = $model->getExportHandlers();
$this->assertCount(1, $handlers);
$handler = reset($handlers);
$this->assertInstanceOf('taoQtiTest_models_classes_export_TestExport', $handler);
}
}