-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUserIdTest.php
More file actions
35 lines (28 loc) · 1.22 KB
/
UserIdTest.php
File metadata and controls
35 lines (28 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
declare(strict_types=1);
use DragonCode\RequestTracker\TrackerHeader;
use DragonCode\RequestTracker\TrackerRequest;
it('sets and gets user id with string and int, falling back to existing header or 0', function () {
$header = new TrackerHeader;
// 1) Explicit string
$request = makeRequest();
$telemetry = new TrackerRequest($request, $header);
$telemetry->userId('42');
expect($request->headers->get($header->userId))->toBe('42')
->and($telemetry->getUserId())->toBe('42');
// 2) Explicit int should be cast to string
$request = makeRequest();
$telemetry = new TrackerRequest($request, $header);
$telemetry->userId(7);
expect($request->headers->get($header->userId))->toBe('7');
// 3) Fallback to existing header when null
$request = makeRequest([$header->userId => '555']);
$telemetry = new TrackerRequest($request, $header);
$telemetry->userId(null);
expect($request->headers->get($header->userId))->toBe('555')
->and($telemetry->getUserId())->toBe('555');
// 4) getUserId() returns '0' when nothing present
$request = makeRequest();
$telemetry = new TrackerRequest($request, $header);
expect($telemetry->getUserId())->toBe('0');
});