Skip to content

Commit 7c07ec6

Browse files
committed
feat: update read me
1 parent 151b75f commit 7c07ec6

File tree

1 file changed

+79
-1
lines changed

1 file changed

+79
-1
lines changed

README.md

Lines changed: 79 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,79 @@
1-
# BehatHttpMockContext
1+
Behat HTTP Mock Context
2+
=================================
3+
4+
| Version | Build Status | Code Coverage |
5+
|:---------:|:-------------:|:-----:|
6+
| `main` | [![CI][main Build Status Image]][main Build Status] | [![Coverage Status][main Code Coverage Image]][main Code Coverage] |
7+
| `develop` | [![CI][develop Build Status Image]][develop Build Status] | [![Coverage Status][develop Code Coverage Image]][develop Code Coverage] |
8+
9+
Installation
10+
============
11+
12+
Step 1: Install Context
13+
----------------------------------
14+
Open a command console, enter your project directory and execute:
15+
16+
```console
17+
$ composer require --dev macpaw/behat-http-mock-context
18+
```
19+
20+
Step 2: Update Container config to load Context
21+
----------------------------------
22+
In the `config/services_test.yaml` file of your project:
23+
24+
```yaml
25+
BehatHttpMockContext\:
26+
resource: '../vendor/macpaw/behat-http-mock-context/src/*'
27+
arguments:
28+
- '@test.service_container'
29+
30+
BehatHttpMockContext\Collection\ExtendedMockHttpClientCollection:
31+
arguments:
32+
- !tagged_iterator mock.http_client
33+
```
34+
35+
Step 2: Mock http
36+
=============
37+
Example you have http client in `config/services.yaml`
38+
```yaml
39+
oauth_http_client:
40+
class: Symfony\Contracts\HttpClient\HttpClientInterface
41+
factory: ['Symfony\Component\HttpClient\HttpClient', createForBaseUri]
42+
arguments:
43+
- '%env(OAUTH_URL)%'
44+
```
45+
46+
Now you need mock this client in `config/services_test.yaml`
47+
48+
```yaml
49+
BehatHttpMockContext\Collection\ExtendedMockHttpClientCollection:
50+
arguments:
51+
- !tagged_iterator mock.http_client
52+
53+
oauth_http_client:
54+
class: ExtendedMockHttpClient\ExtendedMockHttpClient
55+
arguments:
56+
- '%env(OAUTH_URL)%'
57+
tags: ['mock.http_client']
58+
...
59+
```
60+
61+
Step 4: Configure Behat
62+
=============
63+
Go to `behat.yml`
64+
65+
```yaml
66+
...
67+
contexts:
68+
- BehatHttpMockContext\Context\MockContext
69+
...
70+
```
71+
72+
[main Build Status]: https://github.com/macpaw/BehatHttpMockContext/actions?query=workflow%3ACI+branch%3Amain
73+
[main Build Status Image]: https://github.com/macpaw/BehatHttpMockContext/workflows/CI/badge.svg?branch=main
74+
[develop Build Status]: https://github.com/macpaw/BehatHttpMockContext/actions?query=workflow%3ACI+branch%3Adevelop
75+
[develop Build Status Image]: https://github.com/macpaw/BehatHttpMockContext/workflows/CI/badge.svg?branch=develop
76+
[main Code Coverage]: https://codecov.io/gh/macpaw/BehatHttpMockContext/branch/main
77+
[main Code Coverage Image]: https://img.shields.io/codecov/c/github/macpaw/BehatHttpMockContext/main?logo=codecov
78+
[develop Code Coverage]: https://codecov.io/gh/macpaw/BehatHttpMockContext/branch/develop
79+
[develop Code Coverage Image]: https://img.shields.io/codecov/c/github/macpaw/BehatHttpMockContext/develop?logo=codecov

0 commit comments

Comments
 (0)