• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mpyw / laravel-database-mock / 13674887677

05 Mar 2025 11:24AM UTC coverage: 91.379%. Remained the same
13674887677

push

github

web-flow
chore: 🤖 Bump version (#4)

53 of 58 relevant lines covered (91.38%)

27.72 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/src/DatabaseMocker.php
1
<?php
2

3
namespace Mpyw\LaravelDatabaseMock;
4

5
use Illuminate\Database\DatabaseManager;
6
use Mpyw\LaravelDatabaseMock\Proxies\ConnectionProxies;
7
use Mpyw\LaravelDatabaseMock\Proxies\SingleConnectionProxy;
8
use Mpyw\MockeryPDO\MockeryPDO;
9

10
class DatabaseMocker
11
{
12
    /**
13
     * @var \Mpyw\MockeryPDO\MockeryPDO
14
     */
15
    protected $mocker;
16

17
    /**
18
     * @var \Illuminate\Database\DatabaseManager
19
     */
20
    protected $db;
21

22
    /**
23
     * DatabaseMocker constructor.
24
     *
25
     * @param \Mpyw\MockeryPDO\MockeryPDO          $service
26
     * @param \Illuminate\Database\DatabaseManager $db
27
     */
28
    public function __construct(MockeryPDO $service, DatabaseManager $db)
29
    {
30
        $this->mocker = $service;
48✔
31
        $this->db = $db;
48✔
32
    }
33

34
    /**
35
     * @param  null|string                                             $connectionName
36
     * @return \Mpyw\LaravelDatabaseMock\Proxies\SingleConnectionProxy
37
     */
38
    public function mockPdo(?string $connectionName = null): SingleConnectionProxy
39
    {
40
        $pdo = $this->mocker->mock();
40✔
41
        $connection = $this->db->connection($connectionName);
40✔
42

43
        $connection->setPdo($pdo);
40✔
44
        $connection->setReadPdo($pdo);
40✔
45

46
        return new SingleConnectionProxy($connection, $pdo);
40✔
47
    }
48

49
    /**
50
     * @param  null|string                                         $connectionName
51
     * @return \Mpyw\LaravelDatabaseMock\Proxies\ConnectionProxies
52
     */
53
    public function mockEachPdo(?string $connectionName = null): ConnectionProxies
54
    {
55
        $readPdo = $this->mocker->mock();
8✔
56
        $writePdo = $this->mocker->mock();
8✔
57

58
        $connection = $this->db->connection($connectionName);
8✔
59

60
        $connection->setReadPdo($readPdo);
8✔
61
        $connection->setPdo($writePdo);
8✔
62

63
        return new ConnectionProxies(
8✔
64
            new SingleConnectionProxy($connection, $readPdo),
8✔
65
            new SingleConnectionProxy($connection, $writePdo)
8✔
66
        );
8✔
67
    }
68
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc