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;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc