createUploadMapping(self::$FOLDER_NAME, ['template' => self::TEMPLATE]); } public static function tearDownAfterClass() { foreach (self::$FOLDERS as $folderName) { self::cleanupUploadMapping($folderName); } parent::tearDownAfterClass(); } /** * Get all upload mappings */ public function testGetUploadMappings() { $result = self::$adminApi->uploadMappings(); self::assertNotEmpty($result['mappings']); self::assertValidUploadMapping($result['mappings'][0]); self::assertArrayContainsArray( $result['mappings'], [ 'folder' => self::$FOLDER_NAME, 'template' => self::TEMPLATE ] ); } /** * Get the details of a single upload mapping */ public function testGetDetailUploadMapping() { $uploadMapping = self::$adminApi->uploadMapping(self::$FOLDER_NAME); self::assertValidUploadMapping( $uploadMapping, [ 'template' => self::TEMPLATE, 'folder' => self::$FOLDER_NAME ] ); } /** * Create an upload mapping */ public function testCreateUploadMapping() { $result = self::$adminApi->createUploadMapping( self::$FOLDER_NAME_CREATE, ['template' => self::TEMPLATE] ); self::assertNotEmpty($result); self::assertEquals('created', $result['message']); $uploadMapping = self::$adminApi->uploadMapping(self::$FOLDER_NAME_CREATE); self::assertValidUploadMapping( $uploadMapping, [ 'template' => self::TEMPLATE, 'folder' => self::$FOLDER_NAME_CREATE ] ); } /** * Update an upload mapping * * @throws ApiError */ public function testUpdateUploadMapping() { self::$adminApi->createUploadMapping(self::$FOLDER_NAME_UPDATE, ['template' => self::TEMPLATE]); $result = self::$adminApi->updateUploadMapping( self::$FOLDER_NAME_UPDATE, ['template' => self::TEMPLATE_2] ); self::assertEquals('updated', $result['message']); $uploadMapping = self::$adminApi->uploadMapping(self::$FOLDER_NAME_UPDATE); self::assertValidUploadMapping( $uploadMapping, [ 'template' => self::TEMPLATE_2, 'folder' => self::$FOLDER_NAME_UPDATE ] ); } /** * Delete an upload mapping * * @throws ApiError */ public function testDeleteUploadMapping() { self::$adminApi->createUploadMapping(self::$FOLDER_NAME_DELETE, ['template' => self::TEMPLATE]); $result = self::$adminApi->deleteUploadMapping(self::$FOLDER_NAME_DELETE); self::assertEquals('deleted', $result['message']); $this->expectException(NotFound::class); self::$adminApi->uploadMapping(self::$FOLDER_NAME_DELETE); } }