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.

Referenced by setUp(), and skipIfvfsStreamNotSupported().

19  {
20  return @include_once('vfsStream.php');
21  }
+ Here is the caller graph for this function:

◆ setUp()

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::setUp ( )

Definition at line 37 of file ilTermsOfServiceAgreementsByLanguageTableDataProviderTest.php.

References isVsfStreamInstalled().

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  }
+ Here is the call graph for this function:

◆ skipIfvfsStreamNotSupported()

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::skipIfvfsStreamNotSupported ( )
private

Definition at line 26 of file ilTermsOfServiceAgreementsByLanguageTableDataProviderTest.php.

References isVsfStreamInstalled().

Referenced by testProviderReturnsAResultForEveryInstalledLanguage().

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

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

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  }

◆ testProviderReturnsAResultForEveryInstalledLanguage()

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::testProviderReturnsAResultForEveryInstalledLanguage ( ilTermsOfServiceAgreementByLanguageProvider  $provider)
Parameters
ilTermsOfServiceAgreementByLanguageProvider$providertestAgreementByLanguageProviderCanBeCreatedByFactory

Definition at line 72 of file ilTermsOfServiceAgreementsByLanguageTableDataProviderTest.php.

References $data, $lng, ilTermsOfServiceAgreementByLanguageProvider\getList(), ilTermsOfServiceAgreementByLanguageProvider\setLanguageAdapter(), ilTermsOfServiceAgreementByLanguageProvider\setSourceDirectories(), and skipIfvfsStreamNotSupported().

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  }
getList(array $params, array $filter)
{Table paramaters like limit or order Filter settings array}
$data
global $lng
Definition: privfeed.php:40
+ Here is the call graph for this function:

◆ testProviderShouldReturnLanguageAdapterWhenLanguageAdapterIsSet()

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::testProviderShouldReturnLanguageAdapterWhenLanguageAdapterIsSet ( ilTermsOfServiceAgreementByLanguageProvider  $provider)
Parameters
ilTermsOfServiceAgreementByLanguageProvider$providertestAgreementByLanguageProviderCanBeCreatedByFactory

Definition at line 128 of file ilTermsOfServiceAgreementsByLanguageTableDataProviderTest.php.

References ilTermsOfServiceAgreementByLanguageProvider\getLanguageAdapter(), and ilTermsOfServiceAgreementByLanguageProvider\setLanguageAdapter().

129  {
130  $expected = $this->getMockBuilder('ilLanguage')->setMethods(array('toJSON'))->disableOriginalConstructor()->getMock();
131 
132  $provider->setLanguageAdapter($expected);
133  $this->assertEquals($expected, $provider->getLanguageAdapter());
134  }
+ Here is the call graph for this function:

◆ testProviderShouldReturnSourceDirectoriesWhenSourceDirectoriesAreSet()

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::testProviderShouldReturnSourceDirectoriesWhenSourceDirectoriesAreSet ( ilTermsOfServiceAgreementByLanguageProvider  $provider)
Parameters
ilTermsOfServiceAgreementByLanguageProvider$providertestAgreementByLanguageProviderCanBeCreatedByFactory

Definition at line 140 of file ilTermsOfServiceAgreementsByLanguageTableDataProviderTest.php.

References ilTermsOfServiceAgreementByLanguageProvider\getSourceDirectories(), and ilTermsOfServiceAgreementByLanguageProvider\setSourceDirectories().

141  {
142  $expected = array('/phpunit', '/ilias');
143 
144  $provider->setSourceDirectories($expected);
145  $this->assertEquals($expected, $provider->getSourceDirectories());
146  }
+ Here is the call graph for this function:

Field Documentation

◆ $backupGlobals

ilTermsOfServiceAgreementsByLanguageTableDataProviderTest::$backupGlobals = false
protected

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