ILIAS  release_7 Revision v7.30-3-g800a261c036
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

@group needsInstalledILIAS

@runTestsInSeparateProcesses @preserveGlobalState disabled @backupGlobals disabled @backupStaticAttributes disabled

Definition at line 26 of file ilObjectDAVTest.php.

Member Function Documentation

◆ delete_WithoutPermission_ThrowForbidden()

ilObjectDAVTest::delete_WithoutPermission_ThrowForbidden ( )
Test:
@small

Definition at line 155 of file ilObjectDAVTest.php.

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 }

References Vendor\Package\$e.

◆ setName_EverythingFine_SetTitleForObject()

ilObjectDAVTest::setName_EverythingFine_SetTitleForObject ( )

Requirements:

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

    Test:
    @small

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:
@small

Definition at line 101 of file ilObjectDAVTest.php.

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 }

References Vendor\Package\$e.

◆ setName_NoWriteAccess_ThrowForbidden()

ilObjectDAVTest::setName_NoWriteAccess_ThrowForbidden ( )
Test:
@small

Definition at line 75 of file ilObjectDAVTest.php.

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 }

References Vendor\Package\$e.

◆ setUp()

ilObjectDAVTest::setUp ( )
protected

Setup.

Definition at line 47 of file ilObjectDAVTest.php.

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.

References setUpObjectDAV().

+ 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.

66 {
67 return new class($mocked_obj, $mocked_repo_helper, $mockes_dav_helper) extends ilObjectDAV {
68 };
69 }
Class ilObjectDAV.

References $mocked_obj.

Referenced by setUp().

+ 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: