ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilObjectDAVTest Class Reference

TestCase for the ilObjectDAVTest. More...

+ Inheritance diagram for ilObjectDAVTest:
+ Collaboration diagram for ilObjectDAVTest:

Public Member Functions

 setName_NoWriteAccess_ThrowForbidden ()
 
 setName_ForbiddenCharacters_ThrowForbidden ()
 
 setName_EverythingFine_SetTitleForObject ()
 Requirements: More...
 
 delete_WithoutPermission_ThrowForbidden ()
 

Protected Member Functions

 setUp ()
 Setup. More...
 
 setUpObjectDAV ($mocked_obj, $mocked_repo_helper, $mockes_dav_helper)
 Setup instance for ilObjectDAV. More...
 

Protected Attributes

 $ref_id
 
 $mocked_obj
 
 $mocked_dav_repo_helper
 
 $mocked_dav_obj_helper
 
 $dav_obj
 

Detailed Description

TestCase for the ilObjectDAVTest.

I name the test-methods like this: MethodName_TestedBehavior_Expectation

For example setName_NoWriteAccess_ThrowForbidden means:

  • I test the method setName
  • I will test the behavior if I dont have write access to this object
  • I expect a Forbidden-Exception
Author
Raphael Heer rapha.nosp@m.el.h.nosp@m.eer@h.nosp@m.slu..nosp@m.ch
Version
1.0.0

needsInstalledILIAS

disabled disabled disabled

Definition at line 26 of file ilObjectDAVTest.php.

Member Function Documentation

◆ delete_WithoutPermission_ThrowForbidden()

ilObjectDAVTest::delete_WithoutPermission_ThrowForbidden ( )
Test:

Definition at line 155 of file ilObjectDAVTest.php.

References Vendor\Package\$e.

156  {
157  // Arrange
158  $exception_thrown = false;
159 
160  $this->mocked_dav_repo_helper->shouldReceive('checkAccess')->withAnyArgs()->andReturn(false);
161 
162  // Act
163  try {
164  $this->dav_obj->delete();
165  } catch (Forbidden $e) {
166  $exception_thrown = $e->getMessage() == "Permission denied";
167  }
168 
169  // Assert
170  $this->assertTrue($exception_thrown);
171  }

◆ setName_EverythingFine_SetTitleForObject()

ilObjectDAVTest::setName_EverythingFine_SetTitleForObject ( )

Requirements:

  • Write permission for this object
  • No forbidden characters in title
Test:

Definition at line 132 of file ilObjectDAVTest.php.

133  {
134  // Arrange
135  $title = 'Test';
136 
137  $this->mocked_dav_repo_helper->shouldReceive('checkAccess')->withAnyArgs()->andReturn(true);
138  $this->mocked_dav_obj_helper->shouldReceive('isDAVableObjTitle')->with($title)->andReturn(true);
139 
140  $this->mocked_obj->shouldReceive('setTitle')->withArgs([$title]);
141  $this->mocked_obj->shouldReceive('update');
142 
143  // Act
144  $this->dav_obj->setName($title);
145 
146  // Assert
147  $this->assertTrue($this->mocked_obj->shouldHaveReceived('setTitle')->withArgs([$title])
148  && $this->mocked_obj->shouldHaveReceived('update'));
149  }

◆ setName_ForbiddenCharacters_ThrowForbidden()

ilObjectDAVTest::setName_ForbiddenCharacters_ThrowForbidden ( )
Test:

Definition at line 101 of file ilObjectDAVTest.php.

References Vendor\Package\$e.

102  {
103  // Arrange
104  $exception_thrown = false;
105  $title = 'Test';
106 
107  $this->mocked_dav_repo_helper->shouldReceive('checkAccess')->withAnyArgs()->andReturn(true);
108  $this->mocked_dav_obj_helper->shouldReceive('isDAVableObjTitle')->with($title)->andReturn(false);
109 
110  $this->mocked_obj = \Mockery::mock('ilObject');
111  $this->mocked_obj->shouldNotReceive('setTitle');
112 
113  // Act
114  try {
115  $this->dav_obj->setName($title);
116  } catch (Forbidden $e) {
117  $exception_thrown = $e->getMessage() == 'Forbidden characters in title';
118  }
119 
120  // Assert
121  $this->assertTrue($exception_thrown);
122  }

◆ setName_NoWriteAccess_ThrowForbidden()

ilObjectDAVTest::setName_NoWriteAccess_ThrowForbidden ( )
Test:

Definition at line 75 of file ilObjectDAVTest.php.

References Vendor\Package\$e.

76  {
77  // Arrange
78  $exception_thrown = false;
79  $title = 'Test';
80 
81  $this->mocked_dav_repo_helper->shouldReceive('checkAccess')->withArgs(['write', $this->ref_id])->andReturn(false);
82 
83  $this->mocked_obj->shouldNotReceive('setTitle');
84 
85 
86  // Act
87  try {
88  $this->dav_obj->setName($title);
89  } catch (Forbidden $e) {
90  $exception_thrown = $e->getMessage() == 'Permission denied';
91  }
92 
93  // Assert
94  $this->assertTrue($exception_thrown);
95  }

◆ setUp()

ilObjectDAVTest::setUp ( )
protected

Setup.

Definition at line 47 of file ilObjectDAVTest.php.

References setUpObjectDAV().

47  : void
48  {
49  $this->ref_id = 100;
50  $this->mocked_obj = \Mockery::mock('ilObject');
51  $this->mocked_obj->shouldReceive(['getRefId' => $this->ref_id]);
52 
53  $this->mocked_dav_obj_helper = \Mockery::mock('ilWebDAVObjDAVHelper');
54 
55  $this->mocked_dav_repo_helper = \Mockery::mock('ilWebDAVRepositoryHelper');
56 
57  $this->dav_obj = $this->setUpObjectDAV($this->mocked_obj, $this->mocked_dav_repo_helper, $this->mocked_dav_obj_helper);
58 
59  parent::setUp();
60  }
setUpObjectDAV($mocked_obj, $mocked_repo_helper, $mockes_dav_helper)
Setup instance for ilObjectDAV.
+ Here is the call graph for this function:

◆ setUpObjectDAV()

ilObjectDAVTest::setUpObjectDAV (   $mocked_obj,
  $mocked_repo_helper,
  $mockes_dav_helper 
)
protected

Setup instance for ilObjectDAV.

Definition at line 65 of file ilObjectDAVTest.php.

References $mocked_obj.

Referenced by setUp().

66  {
67  return new class($mocked_obj, $mocked_repo_helper, $mockes_dav_helper) extends ilObjectDAV {
68  };
69  }
Class ilObjectDAV.
+ Here is the caller graph for this function:

Field Documentation

◆ $dav_obj

ilObjectDAVTest::$dav_obj
protected

Definition at line 41 of file ilObjectDAVTest.php.

◆ $mocked_dav_obj_helper

ilObjectDAVTest::$mocked_dav_obj_helper
protected

Definition at line 38 of file ilObjectDAVTest.php.

◆ $mocked_dav_repo_helper

ilObjectDAVTest::$mocked_dav_repo_helper
protected

Definition at line 35 of file ilObjectDAVTest.php.

◆ $mocked_obj

ilObjectDAVTest::$mocked_obj
protected

Definition at line 32 of file ilObjectDAVTest.php.

Referenced by setUpObjectDAV().

◆ $ref_id

ilObjectDAVTest::$ref_id
protected

Definition at line 29 of file ilObjectDAVTest.php.


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