ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
AbstractBaseResourceBuilderTest.php
Go to the documentation of this file.
1 <?php
2 
19 namespace ILIAS\ResourceStorage;
20 
22 require_once('AbstractBaseTest.php');
24 require_once('DummyIDGenerator.php');
25 
43 
49 {
54  protected $revision;
58  protected $information;
62  protected $upload_result;
82  protected $storage_handler;
83  protected \ILIAS\ResourceStorage\Resource\ResourceBuilder $resource_builder;
91  protected $locking;
99  protected $stream_access;
101 
102  protected function setUp(): void
103  {
104  parent::setUp();
105  $this->storage_handler = $this->createMock(StorageHandler::class);
106  $this->storage_handler_factory = $this->createMock(StorageHandlerFactory::class);
107  $this->storage_handler_factory->method('getPrimary')->willReturn($this->storage_handler);
108  $this->revision_repository = $this->createMock(RevisionRepository::class);
109  $this->resource_repository = $this->createMock(ResourceRepository::class);
110  $this->collection_repository = $this->createMock(CollectionRepository::class);
111  $this->information_repository = $this->createMock(InformationRepository::class);
112  $this->stakeholder_repository = $this->createMock(StakeholderRepository::class);
113  $this->flavour_repository = $this->createMock(FlavourRepository::class);
114  $this->repositories = new Repositories(
115  $this->revision_repository,
116  $this->resource_repository,
117  $this->collection_repository,
118  $this->information_repository,
119  $this->stakeholder_repository,
120  $this->flavour_repository
121  );
122  $this->locking = $this->createMock(LockHandler::class);
123  $this->stream_access = $this->createMock(StreamAccess::class);
124  $this->information = $this->createMock(Information::class);
125  $this->revision = $this->createMock(Revision::class);
126  }
127 
131  protected function mockResourceAndRevision(
132  string $expected_file_name,
133  string $expected_mime_type,
134  int $expected_size,
135  int $expected_version_number,
136  int $expected_owner_id
137  ): array {
138  $identification = $this->id_generator->getUniqueResourceIdentification();
139 
141  $expected_file_name,
142  $expected_mime_type,
143  $expected_size
144  );
145 
146  $info_resolver = new UploadInfoResolver(
148  $expected_version_number,
149  $expected_owner_id,
150  $upload_result->getName()
151  );
152 
153  // MOCKS
154  $blank_resource = new StorableFileResource($identification);
155  $this->resource_repository->expects($this->once())
156  ->method('blank')
157  ->willReturn($blank_resource);
158 
159  $blank_revision = new UploadedFileRevision($blank_resource->getIdentification(), $upload_result);
160  $blank_revision->setVersionNumber($info_resolver->getNextVersionNumber());
161  $this->revision_repository->expects($this->once())
162  ->method('blankFromUpload')
163  ->with(
164  $info_resolver,
165  $blank_resource,
167  )
168  ->willReturn($blank_revision);
169  return [$upload_result, $info_resolver, $identification];
170  }
171 }
ILIAS ResourceStorage Resource ResourceBuilder $resource_builder
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
mockResourceAndRevision(string $expected_file_name, string $expected_mime_type, int $expected_size, int $expected_version_number, int $expected_owner_id)
getDummyUploadResult(string $file_name, string $mime_type, int $size)