Codeception / Codeception/module-doctrine

haveFakeRepository from Doctrine module doesn't work

Open
#20 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
4
Forks
2
PR merge metrics
No merged PRs in 30d

Description

#### What are you trying to achieve?
Mock repository with haveFakeRepository method from Doctrine module.

#### What do you get instead?

> Provide console output if related. Use `-vvv` mode for more details.

```bash
[Warning] Repository can't be mocked, the EventManager's repositoryFactory doesn't have "repositoryList" property

```
> Provide test source code if related

```php
$I->haveFakeRepository('App\Entity\User', array('findOneBy' => function ($args) use ($user) {
return $user;
}));
```
### Details

* Codeception version: 2.4.1
* PHP Version: 7.2.4
* Operating System: 16.04.1-Ubuntu
* Installation type: Composer
* List of installed packages (`composer show`)
```bash
doctrine/orm v2.5.13 Object-Relational-Mapper for PHP
symfony/framework-bundle v4.0.8 Symfony FrameworkBundle
```
* Suite configuration:

```yml
actor: ApiTester
modules:
enabled:
- Symfony:
app_path: src
environment: test
params: .env
- REST:
url: /api
depends: Symfony
- Doctrine2:
depends: Symfony
- \Helper\Api```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the Doctrine module's haveFakeRepository method and trace the EventManager repositoryFactory handling that produces the missing "repositoryList" warning. Reproduce the issue with the shown Codeception, Doctrine ORM, Symfony, PHP, and suite configuration; done means the App\Entity\User repository can be mocked as shown without the warning.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.