ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilTermsOfServiceAcceptanceHistoryProviderTest.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 require_once 'Services/TermsOfService/classes/class.ilTermsOfServiceTableDataProviderFactory.php';
5 require_once 'Services/TermsOfService/classes/class.ilTermsOfServiceTableDatabaseDataProvider.php';
6 require_once 'Services/TermsOfService/test/ilTermsOfServiceBaseTest.php';
7 
13 {
17  protected $backupGlobals = false;
18 
22  public function setUp()
23  {
24  }
25 
30  {
32  $factory->setDatabaseAdapter($this->getMockBuilder('ilDBInterface')->getMock());
34 
35  $this->assertInstanceOf('ilTermsOfServiceAcceptanceHistoryProvider', $provider);
36  $this->assertInstanceOf('ilTermsOfServiceTableDatabaseDataProvider', $provider);
37  $this->assertInstanceOf('ilTermsOfServiceTableDataProvider', $provider);
38 
39  return $provider;
40  }
41 
45  public function testListCanBeRetrieved()
46  {
47  $database = $this->getMockBuilder('ilDBInterface')->getMock();
48  $result = $this->getMockBuilder('ilDBStatement')->getMock();
49 
51  $factory->setDatabaseAdapter($database);
53 
54  $database->expects($this->exactly(2))->method('query')->with($this->stringContains('SELECT'))->will($this->returnValue($result));
55  $database->expects($this->exactly(4))->method('fetchAssoc')->will($this->onConsecutiveCalls(array('phpunit'), array('phpunit'), array(), array('cnt' => 2)));
56  $database->expects($this->any())->method('like')->with(
57  $this->isType('string'),
58  $this->isType('string'),
59  $this->isType('string')
60  )->will($this->returnArgument(2));
61  $database->expects($this->any())->method('quote')->with($this->anything(), $this->isType('string'))->will($this->returnArgument(0));
62 
63  $data = $provider->getList(
64  array(
65  'limit' => 5,
66  'order_field' => 'ts'
67  ),
68  array(
69  'query' => 'phpunit',
70  'lng' => 'en',
71  'period' => array(
72  'start' => time(),
73  'end' => time()
74  )
75  )
76  );
77  $this->assertArrayHasKey('items', $data);
78  $this->assertArrayHasKey('cnt', $data);
79  $this->assertCount(2, $data['items']);
80  $this->assertEquals(2, $data['cnt']);
81  }
82 
87  {
88  $database = $this->getMockBuilder('ilDBInterface')->getMock();
90  $factory->setDatabaseAdapter($database);
92 
93  try
94  {
95  $provider->getList(array('limit' => 'phpunit'), array());
96  $this->fail('An expected exception has not been raised.');
97  }
98  catch(InvalidArgumentException $e)
99  {
100  }
101 
102  try
103  {
104  $provider->getList(array('limit' => 5, 'offset' => 'phpunit'), array());
105  $this->fail('An expected exception has not been raised.');
106  }
107  catch(InvalidArgumentException $e)
108  {
109  }
110 
111  try
112  {
113  $provider->getList(array('order_field' => 'phpunit'), array());
114  $this->fail('An expected exception has not been raised.');
115  }
116  catch(InvalidArgumentException $e)
117  {
118  }
119 
120  try
121  {
122  $provider->getList(array('order_field' => 5), array());
123  $this->fail('An expected exception has not been raised.');
124  }
125  catch(InvalidArgumentException $e)
126  {
127  }
128 
129  try
130  {
131  $provider->getList(array('order_field' => 'ts', 'order_direction' => 'phpunit'), array());
132  $this->fail('An expected exception has not been raised.');
133  }
134  catch(InvalidArgumentException $e)
135  {
136  }
137  }
138 }
$result
Create styles array
The data for the language used.
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.