1: <?php
2:
3: namespace Chromabits\Nucleus\Testing\Interfaces;
4:
5: /**
6: * Interface CommonProviderInterface.
7: *
8: * Describes a class that is capable of defining common dependencies to be used
9: * with the `impersonatorWithCommon` method in `ImpersonationTrait`.
10: *
11: * @author Eduardo Trujillo <ed@chromabits.com>
12: * @package Chromabits\Nucleus\Testing\Interfaces
13: */
14: interface CommonProviderInterface
15: {
16: /**
17: * This method should return a map from class or interface names to a
18: * Closure defining a mock or to an array of CallExpectations:
19: *
20: * Map<String, Either<Array<CallExpectation>, (MockInterface -> void)>>
21: *
22: * @return mixed
23: */
24: function getCommonProvisions();
25: }