3 * @copyright Copyright (C) 2020, Friendica
5 * @license GNU AGPL version 3 or any later version
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Affero General Public License as
9 * published by the Free Software Foundation, either version 3 of the
10 * License, or (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU Affero General Public License for more details.
17 * You should have received a copy of the GNU Affero General Public License
18 * along with this program. If not, see <https://www.gnu.org/licenses/>.
22 namespace Friendica\Test\Util;
24 use Friendica\Database\DBStructure;
25 use Mockery\MockInterface;
28 * Trait to mock the DBStructure connection status
30 trait DBStructureMockTrait
33 * @var MockInterface The mocking interface of Friendica\Database\DBStructure
38 * Mocking DBStructure::update()
39 * @see DBStructure::update();
41 * @param array $args The arguments for the update call
42 * @param bool $return True, if the connect was successful, otherwise false
43 * @param null|int $times How often the method will get used
45 public function mockUpdate($args = [], $return = true, $times = null)
47 if (!isset($this->dbStructure)) {
48 $this->dbStructure = \Mockery::mock('alias:' . DBStructure::class);
52 ->shouldReceive('update')
59 * Mocking DBStructure::existsTable()
61 * @param string $tableName The name of the table to check
62 * @param bool $return True, if the connect was successful, otherwise false
63 * @param null|int $times How often the method will get used
65 public function mockExistsTable($tableName, $return = true, $times = null)
67 if (!isset($this->dbStructure)) {
68 $this->dbStructure = \Mockery::mock('alias:' . DBStructure::class);
72 ->shouldReceive('existsTable')