<commit_before><?php

namespace tests\codeception\unit;

use app\models\Plp\Task;
use yii;
use Codeception\Specify;
use tests\codeception\fixtures\TaskFixture;
use app\models\Plp\Task\TaskFactory;
use app\models\Plp\Task\FatalException;

/**
 * Class TaskExecutionTest
 *
 * @property array $tasks
 *
 * @package tests\codeception\unit
 */
class TaskExecutionTest extends DbTestCase
{
    /**
     * Проверка записи результата задачи в БД.
     */
    public function testTaskSave()
    {
        $data = $this->tasks[0];
        $task = Task::findOne(['id' => $data['id']]);
        self::assertTrue($task->save());
    }

    /**
     * Проверка записи успешного выполнения задачи.
     *
     * @throws FatalException
     */
    public function testSuccess()
    {
        self::assertTrue(false);
    }

    /**
     * Проверка записи неуспешного выполнения задачи.
     *
     * @throws FatalException
     */
    public function testFail()
    {
        self::assertTrue(false);
    }

    /**
     * Проверка количества повторного запуска задачи.
     *
     * @expectedException \app\models\Plp\Task\FatalException
     *
     * @throws FatalException
     */
    public function testCount()
    {
        self::assertTrue(false);
    }

    /**
     * @inheritdoc
     */<commit_msg>Добавлено желаемое поведение теста проверки успешного выполнения задачи.<commit_after><?php

namespace tests\codeception\unit;

use app\models\Plp\Task;
use yii;
use Codeception\Specify;
use tests\codeception\fixtures\TaskFixture;
use app\models\Plp\Task\TaskFactory;
use app\models\Plp\Task\FatalException;

/**
 * Class TaskExecutionTest
 *
 * @property array $tasks
 *
 * @package tests\codeception\unit
 */
class TaskExecutionTest extends DbTestCase
{
    /**
     * Проверка записи результата задачи в БД.
     */
    public function testTaskSave()
    {
        $data = $this->tasks[0];
        $task = Task::findOne(['id' => $data['id']]);
        self::assertTrue($task->save());
    }

    /**
     * Проверка записи успешного выполнения задачи.
     *
     * @throws FatalException
     */
    public function testSuccess()
    {
        $data = $this->tasks[0];
        $task = Task::findOne(['id' => $data['id']]);
        $executor = TaskFactory::build($task->task, $task->action);
        $result = $executor->run(json_decode($task->data, true));
        self::assertArrayHasKey('type', $result);
        self::assertSame($result['type'], 'success');
    }

    /**
     * Проверка записи неуспешного выполнения задачи.
     *
     * @throws FatalException
     */
    public function testFail()
    {
        self::assertTrue(false);
    }

    /**
     * Проверка количества повторного запуска задачи.
     *
     * @expectedException \app\models\Plp\Task\FatalException
     *
     * @throws FatalException
     */
    public function testCount()
    {
        self::assertTrue(false);
    }

    /**
     * @inheritdoc
     */
{'fraction_non_alphanumeric': 0.13619339462036092, 'fraction_numerical': 0.0010214504596527069, 'mean_word_length': 2.5354993983152827, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6192553', 'n_tokens_mistral': 954, 'n_tokens_neox': 1010, 'n_words': 175}