20 return @include_once(
'vfsStream.php');
30 $this->markTestSkipped(
'Requires vfsStream (http://vfs.bovigo.org)');
39 if(!defined(
'CLIENT_ID'))
41 define(
'CLIENT_ID',
'phpunit');
46 vfsStreamWrapper::register();
57 require_once
'Services/TermsOfService/classes/class.ilTermsOfServiceTableDataProviderFactory.php';
59 $factory->setLanguageAdapter($this->getMockBuilder(
'ilLanguage')->setMethods(array(
'toJSON'))->disableOriginalConstructor()->getMock());
62 $this->assertInstanceOf(
'ilTermsOfServiceAgreementByLanguageProvider',
$provider);
63 $this->assertInstanceOf(
'ilTermsOfServiceTableDataProvider',
$provider);
76 $client_rel_path = implode(
'/', array(
'clients',
'default',
'agreement'));
77 $global_rel_path = implode(
'/', array(
'global',
'agreement'));
79 $root = vfsStreamWrapper::setRoot(
new vfsStreamDirectory(
'root'));
80 $customizing_dir = vfsStream::newDirectory(
'Customizing')->at($root);
82 $client_dir = vfsStream::newDirectory($client_rel_path)->at($customizing_dir);
83 vfsStream::newFile(
'agreement_de.html', 0777)->at($client_dir);
84 file_put_contents(vfsStream::url(
'root/Customizing/' . $client_rel_path .
'/agreement_de.html'),
'phpunit');
86 $global_dir = vfsStream::newDirectory($global_rel_path)->at($customizing_dir);
87 vfsStream::newFile(
'agreement_en.html', 0777)->at($global_dir);
88 file_put_contents(vfsStream::url(
'root/Customizing/' . $global_rel_path .
'/agreement_en.html'),
'phpunit');
91 vfsStream::url(
'root/Customizing/' . $client_rel_path),
92 vfsStream::url(
'root/Customizing/' . $global_rel_path)
95 $lng = $this->getMockBuilder(
'ilLanguage')->setMethods(array(
'toJSON'))->disableOriginalConstructor()->getMock();
96 $installed_languages = array(
'en',
'de',
'fr');
97 $lng->expects($this->once())->method(
'getInstalledLanguages')->will($this->onConsecutiveCalls($installed_languages));
101 $this->assertArrayHasKey(
'items',
$data);
102 $this->assertArrayHasKey(
'cnt',
$data);
103 $this->assertCount(count($installed_languages),
$data[
'items']);
104 $this->assertEquals(count($installed_languages),
$data[
'cnt']);
106 for($i = 0; $i < count($installed_languages); $i++)
108 $this->assertArrayHasKey(
'language',
$data[
'items'][$i]);
109 $this->assertArrayHasKey(
'agreement',
$data[
'items'][$i]);
110 $this->assertArrayHasKey(
'agreement_document',
$data[
'items'][$i]);
111 $this->assertArrayHasKey(
'agreement_document_modification_ts',
$data[
'items'][$i]);
113 if($installed_languages[$i] ==
'fr')
115 $this->assertFalse(file_exists(
$data[
'items'][$i][
'agreement_document']));
119 $this->assertTrue(file_exists(
$data[
'items'][$i][
'agreement_document']));
130 $expected = $this->getMockBuilder(
'ilLanguage')->setMethods(array(
'toJSON'))->disableOriginalConstructor()->getMock();
142 $expected = array(
'/phpunit',
'/ilias');
getList(array $params, array $filter)
{Table paramaters like limit or order Filter settings array}
const CONTEXT_AGRREMENT_BY_LANGUAGE
testProviderShouldReturnSourceDirectoriesWhenSourceDirectoriesAreSet(ilTermsOfServiceAgreementByLanguageProvider $provider)
testProviderShouldReturnLanguageAdapterWhenLanguageAdapterIsSet(ilTermsOfServiceAgreementByLanguageProvider $provider)
testProviderReturnsAResultForEveryInstalledLanguage(ilTermsOfServiceAgreementByLanguageProvider $provider)
setSourceDirectories($terms_of_service_source_directories)
testAgreementByLanguageProviderCanBeCreatedByFactory()
skipIfvfsStreamNotSupported()