ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilTermsOfServiceAgreementsByLanguageTableDataProviderTest Class Reference
+ Inheritance diagram for ilTermsOfServiceAgreementsByLanguageTableDataProviderTest:
+ Collaboration diagram for ilTermsOfServiceAgreementsByLanguageTableDataProviderTest:

Public Member Functions

 setUp ()
 
 testAgreementByLanguageProviderCanBeCreatedByFactory ()
 
 testProviderReturnsAResultForEveryInstalledLanguage (ilTermsOfServiceAgreementByLanguageProvider $provider)
 
 testProviderShouldReturnLanguageAdapterWhenLanguageAdapterIsSet (ilTermsOfServiceAgreementByLanguageProvider $provider)
 
 testProviderShouldReturnSourceDirectoriesWhenSourceDirectoriesAreSet (ilTermsOfServiceAgreementByLanguageProvider $provider)
 

Protected Attributes

 $backupGlobals = false
 

Private Member Functions

 isVsfStreamInstalled ()
 
 skipIfvfsStreamNotSupported ()
 

Detailed Description

Member Function Documentation

◆ isVsfStreamInstalled()

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::isVsfStreamInstalled ( )
private
Returns
bool

Definition at line 18 of file ilTermsOfServiceAgreementsByLanguageTableDataProviderTest.php.

19 {
20 return @include_once('vfsStream.php');
21 }

Referenced by setUp(), and skipIfvfsStreamNotSupported().

+ Here is the caller graph for this function:

◆ setUp()

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::setUp ( )

Definition at line 37 of file ilTermsOfServiceAgreementsByLanguageTableDataProviderTest.php.

38 {
39 if(!defined('CLIENT_ID'))
40 {
41 define('CLIENT_ID', 'phpunit');
42 }
43
44 if($this->isVsfStreamInstalled())
45 {
46 vfsStreamWrapper::register();
47 }
48
49 parent::setUp();
50 }

References isVsfStreamInstalled().

+ Here is the call graph for this function:

◆ skipIfvfsStreamNotSupported()

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::skipIfvfsStreamNotSupported ( )
private

Definition at line 26 of file ilTermsOfServiceAgreementsByLanguageTableDataProviderTest.php.

27 {
28 if(!$this->isVsfStreamInstalled())
29 {
30 $this->markTestSkipped('Requires vfsStream (http://vfs.bovigo.org)');
31 }
32 }

References isVsfStreamInstalled().

Referenced by testProviderReturnsAResultForEveryInstalledLanguage().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ testAgreementByLanguageProviderCanBeCreatedByFactory()

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::testAgreementByLanguageProviderCanBeCreatedByFactory ( )
Returns
ilTermsOfServiceAgreementByLanguageProvider

Definition at line 55 of file ilTermsOfServiceAgreementsByLanguageTableDataProviderTest.php.

56 {
57 require_once 'Services/TermsOfService/classes/class.ilTermsOfServiceTableDataProviderFactory.php';
59 $factory->setLanguageAdapter($this->getMockBuilder('ilLanguage')->setMethods(array('toJSON'))->disableOriginalConstructor()->getMock());
61
62 $this->assertInstanceOf('ilTermsOfServiceAgreementByLanguageProvider', $provider);
63 $this->assertInstanceOf('ilTermsOfServiceTableDataProvider', $provider);
64
65 return $provider;
66 }

References League\OAuth2\Client\Provider\$provider, and ilTermsOfServiceTableDataProviderFactory\CONTEXT_AGRREMENT_BY_LANGUAGE.

◆ testProviderReturnsAResultForEveryInstalledLanguage()

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::testProviderReturnsAResultForEveryInstalledLanguage ( ilTermsOfServiceAgreementByLanguageProvider  $provider)
Parameters
ilTermsOfServiceAgreementByLanguageProvider$provider@depends testAgreementByLanguageProviderCanBeCreatedByFactory

Definition at line 72 of file ilTermsOfServiceAgreementsByLanguageTableDataProviderTest.php.

73 {
75
76 $client_rel_path = implode('/', array('clients', 'default', 'agreement'));
77 $global_rel_path = implode('/', array('global', 'agreement'));
78
79 $root = vfsStreamWrapper::setRoot(new vfsStreamDirectory('root'));
80 $customizing_dir = vfsStream::newDirectory('Customizing')->at($root);
81
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');
85
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');
89
90 $provider->setSourceDirectories(array(
91 vfsStream::url('root/Customizing/' . $client_rel_path),
92 vfsStream::url('root/Customizing/' . $global_rel_path)
93 ));
94
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));
98 $provider->setLanguageAdapter($lng);
99
100 $data = $provider->getList(array(), array());
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']);
105
106 for($i = 0; $i < count($installed_languages); $i++)
107 {
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]);
112
113 if($installed_languages[$i] == 'fr')
114 {
115 $this->assertFalse(file_exists($data['items'][$i]['agreement_document']));
116 }
117 else
118 {
119 $this->assertTrue(file_exists($data['items'][$i]['agreement_document']));
120 }
121 }
122 }
$data
global $lng
Definition: privfeed.php:40

References $data, $lng, League\OAuth2\Client\Provider\$provider, and skipIfvfsStreamNotSupported().

+ Here is the call graph for this function:

◆ testProviderShouldReturnLanguageAdapterWhenLanguageAdapterIsSet()

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::testProviderShouldReturnLanguageAdapterWhenLanguageAdapterIsSet ( ilTermsOfServiceAgreementByLanguageProvider  $provider)
Parameters
ilTermsOfServiceAgreementByLanguageProvider$provider@depends testAgreementByLanguageProviderCanBeCreatedByFactory

Definition at line 128 of file ilTermsOfServiceAgreementsByLanguageTableDataProviderTest.php.

129 {
130 $expected = $this->getMockBuilder('ilLanguage')->setMethods(array('toJSON'))->disableOriginalConstructor()->getMock();
131
132 $provider->setLanguageAdapter($expected);
133 $this->assertEquals($expected, $provider->getLanguageAdapter());
134 }

References League\OAuth2\Client\Provider\$provider.

◆ testProviderShouldReturnSourceDirectoriesWhenSourceDirectoriesAreSet()

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::testProviderShouldReturnSourceDirectoriesWhenSourceDirectoriesAreSet ( ilTermsOfServiceAgreementByLanguageProvider  $provider)
Parameters
ilTermsOfServiceAgreementByLanguageProvider$provider@depends testAgreementByLanguageProviderCanBeCreatedByFactory

Definition at line 140 of file ilTermsOfServiceAgreementsByLanguageTableDataProviderTest.php.

141 {
142 $expected = array('/phpunit', '/ilias');
143
144 $provider->setSourceDirectories($expected);
145 $this->assertEquals($expected, $provider->getSourceDirectories());
146 }

References League\OAuth2\Client\Provider\$provider.

Field Documentation

◆ $backupGlobals

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::$backupGlobals = false
protected

The documentation for this class was generated from the following file: