content_workflow_bynder-1.0.0/tests/modules/content_workflow_bynder_test/src/MockDrupalContentWorkflowBynderClient.php
tests/modules/content_workflow_bynder_test/src/MockDrupalContentWorkflowBynderClient.php
<?php namespace Drupal\content_workflow_bynder_test; use Drupal\file\Entity\File; use Drupal\content_workflow_bynder\DrupalContentWorkflowBynderClient; /** * Class to mock CWB client. */ class MockDrupalContentWorkflowBynderClient extends DrupalContentWorkflowBynderClient { /** * Chosen status. * * @var null|int */ public static $chosenStatus = NULL; /** * Mock download. */ public function downloadFiles(array $files, $directory, $language) { $importedFiles = []; foreach ($files as $file) { $importedFile = File::create([ 'filename' => $file->fileName, 'uri' => $file->url, 'status' => 1, 'cwb_id' => $file->id, 'langcode' => $language, 'filesize' => $file->size, ]); $importedFile->save(); $importedFiles[] = $importedFile->id(); } return $importedFiles; } /** * Mock files fetch. */ public function itemFilesGet($itemId) { return []; } /** * Mock status fetch. */ public function projectStatusGet($projectId, $statusId) { $statuses = MockData::getStatuses(); return $statuses[$statusId]; } /** * Mock status change. */ public function itemChooseStatusPost($itemId, $statusId) { if (static::$chosenStatus !== NULL) { throw new \Exception("itemChooseStatusPost shouldn't be called twice"); } static::$chosenStatus = $statusId; } }