Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Testing/Constraints/CountInDatabase.php
Строк: 106
<?php

namespace IlluminateTestingConstraints;

use 
IlluminateDatabaseConnection;
use 
PHPUnitFrameworkConstraintConstraint;
use 
ReflectionClass;

class 
CountInDatabase extends Constraint
{
    
/**
     * The database connection.
     *
     * @var IlluminateDatabaseConnection
     */
    
protected $database;

    
/**
     * The expected table entries count that will be checked against the actual count.
     *
     * @var int
     */
    
protected $expectedCount;

    
/**
     * The actual table entries count that will be checked against the expected count.
     *
     * @var int
     */
    
protected $actualCount;

    
/**
     * Create a new constraint instance.
     *
     * @param  IlluminateDatabaseConnection  $database
     * @param  int  $expectedCount
     * @return void
     */
    
public function __construct(Connection $databaseint $expectedCount)
    {
        
$this->expectedCount $expectedCount;

        
$this->database $database;
    }

    
/**
     * Check if the expected and actual count are equal.
     *
     * @param  string  $table
     * @return bool
     */
    
public function matches($table): bool
    
{
        
$this->actualCount $this->database->table($table)->count();

        return 
$this->actualCount === $this->expectedCount;
    }

    
/**
     * Get the description of the failure.
     *
     * @param  string  $table
     * @return string
     */
    
public function failureDescription($table): string
    
{
        return 
sprintf(
            
"table [%s] matches expected entries count of %s. Entries found: %s.n",
            
$table$this->expectedCount$this->actualCount
        
);
    }

    
/**
     * Get a string representation of the object.
     *
     * @param  int  $options
     * @return string
     */
    
public function toString($options 0): string
    
{
        return (new 
ReflectionClass($this))->name;
    }
}
Онлайн: 0
Реклама