Commit Graph

137 Commits

Author SHA1 Message Date
f528bd8427 feat: adds flaky 2026-04-10 19:52:31 +01:00
729f18a152 fix: stacktrace with nested with calls 2026-04-10 17:25:05 +01:00
8dddb47ad5 Merge branch '4.x' into fix-dataset-method-chaining 2026-04-10 11:41:13 +01:00
2a80101f42 chore: update styling 2026-03-10 21:06:28 +00:00
26345fd9f4 fix: dataset inheritance with method chaining (beforeEach()->with(), describe()->with())
Fixes issue where datasets were not applied when using method chaining patterns
like beforeEach()->with([...]) or describe()->with([...]) inside nested describe blocks.

Root cause: Multiple functions were using Backtrace::file() which returns the
immediate caller's filename. This breaks when called through method chaining
because the backtrace returns internal Pest files instead of the test file.

Solution: Use Backtrace::testFile() which walks the entire backtrace to find
the actual test file being executed. This matches the pattern already used by
test() and describe() functions.

Changes in src/Functions.php:
- beforeEach(): Use testFile() to fix beforeEach()->with() pattern
- afterEach(): Use testFile() for consistency with beforeEach()
- beforeAll(): Use testFile() for better error messages
- afterAll(): Use testFile() for better error messages
- pest(): Use testFile() to fix pest()->beforeEach() pattern
- uses(): Use testFile() for consistency with pest()
- covers(): Use testFile() for correct test file context
- mutates(): Use testFile() for correct test file context

Changes in src/PendingCalls/DescribeCall.php:
- __destruct(): Force BeforeEachCall destructor before test creation
- __call(): Use $this->filename instead of Backtrace, more efficient
- __call(): Properly merge describing context for nested describe blocks

Fixes patterns:
- beforeEach()->with([...])
- describe()->with([...])
- pest()->beforeEach()->with([...]

Tests passing:
- tests/Features/Describe.php (all dataset tests)
- tests/Hooks/BeforeEachTest.php (global hook execution)
- tests/Features/Expect/toMatchSnapshot.php (28 tests)
2025-11-05 17:46:52 +01:00
33817013fe Prevent duplicate attributes 2025-08-23 12:35:32 +02:00
711a60c2db release: beta 1 2025-08-05 17:44:12 +01:00
d6c6489e93 Merge branch '4.x' into fix/sibling-describe-blocks 2025-07-26 04:26:10 +01:00
fe27012bbc style 2025-07-22 23:58:36 +01:00
be9c95e3bc feat: adds see 2025-07-22 23:06:43 +01:00
9172721ce8 Merge pull request #1241 from mertasan/ide-reference
feat: Add `references` method for two-way test-source linking
2025-07-22 22:48:26 +01:00
924dc016cc feat: skipLocally 2025-07-22 22:40:38 +01:00
f49b91ec0d fixes missing condition 2025-07-22 22:31:08 +01:00
516ace85b4 fix: skipOnCI 2025-07-22 22:08:03 +01:00
f9814793dd feat: skipOnCI 2025-07-22 21:52:06 +01:00
0bc3219a2b feat: moves visit to the core 2025-06-28 18:18:26 +01:00
a22013a7d3 fix: with types 2025-06-28 12:14:45 +01:00
f68d11ccae chore: bumps dependencies 2025-03-29 17:44:06 +00:00
50ff347b59 Pass description into describe call 2025-01-20 17:40:18 -05:00
b5b8fab09b Fix an issue where beforeEach/afterEach functions were called on other describe blocks with the same name 2025-01-20 17:36:22 -05:00
675372c794 chore: fixes types 2024-12-10 11:54:42 +00:00
9510d4a2f9 Change array type hint 2024-10-13 09:54:19 -04:00
cd2eb3504b Add helper to get last element of array 2024-10-13 09:47:54 -04:00
a6cd83665c Execute all parent beforeEach and afterEach functions for each test 2024-10-11 23:51:18 -04:00
0c57142c03 Fix an issue where a describe block will prevent a beforeEach call from executing 2024-10-11 21:24:08 -04:00
7cd42aafd8 fix: auto-complete on presets 2024-09-24 10:23:32 +01:00
669dc0da71 Fix #1265 - issue parameter cannot be int (one done, pr, todo, wip) 2024-09-19 09:49:36 +00:00
ba7eb70a5d Remove unnecessary property 2024-09-12 13:11:12 +03:00
74ff3b8cd9 Update src/PendingCalls/TestCall.php
Co-authored-by: Owen Voke <development@voke.dev>
2024-09-12 13:09:57 +03:00
ab0b4a1b4e Update src/PendingCalls/TestCall.php
Co-authored-by: Owen Voke <development@voke.dev>
2024-09-12 13:09:45 +03:00
169b76458e make the name of the method plural 2024-09-12 11:15:30 +03:00
668685498f Fix phpdoc type-hints 2024-09-12 03:51:20 +03:00
bab193e7e1 Fix property type 2024-09-12 03:24:36 +03:00
f720be862e Add reference method 2024-09-12 02:45:37 +03:00
49f15521e0 fix: printer method name 2024-09-10 22:29:01 +01:00
c6b81e6e12 More fixes 2024-09-06 20:59:54 +01:00
aaee0e420b Fix covers function to accept traits 2024-09-05 22:36:34 +02:00
772448db80 wip 2024-09-05 20:53:10 +01:00
15183c4145 fix 2024-09-05 18:23:57 +01:00
ae288d1123 fix tests 2024-09-05 18:17:30 +01:00
2d80ff19ec feat(mutate): only 2024-09-05 02:49:52 +01:00
5050ae304f fixes tests 2024-09-05 01:24:55 +01:00
98e947e0cc more fixes 2024-09-05 01:19:17 +01:00
68785986a0 fix 2024-09-05 00:55:37 +01:00
8c078087ff Adds covered classes to mutation 2024-09-05 00:14:12 +01:00
dd20323ca7 feat: custom presets 2024-09-04 20:53:33 +01:00
3a907c886b feat(mutate): requires it by default 2024-09-04 11:38:53 +01:00
e2d360b1b5 chore: adjusts tests 2024-09-03 14:09:03 +01:00
4e98dfe3c3 pr 2024-08-10 16:57:48 +01:00
ad6dca94fa Adds done 2024-08-10 14:27:18 +01:00