1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-08-06 05:34:04 +00:00
tenancy/tests
lukinovec 869ad78454
Fix duplicate entry error when updating TenantPivot columns (#1469)
`TriggerSyncingEvents` registered the pivot attach listener on `saved`,
which fires on both inserts and updates. So updating pivot columns on a
`TenantPivot` (e.g. via `updateExistingPivot()`) re-ran the attach flow
and tried to create the tenant resource again, causing a duplicate entry
error.

Switched the listener to `created` so we only attach when the pivot
record is first created (detaching already uses `deleting`, so using
`created` makes things a bit more consistent).

Added a regression test before the fix
(https://github.com/archtechx/tenancy/pull/1469/commits/5e3eb4322cc487d540796317e813ac2ffe076646).
The fix
(https://github.com/archtechx/tenancy/pull/1469/commits/d2fb4bc0d524cd98ec680e973b791f475afc3548)
then made the test pass.

Also improved the `saving` listener's comment a bit so that it's clear
where the "central resource not available" exception actually comes
from, since that wasn't obvious (also added the `@throws` annotation to
`getCentralResourceAndTenant()`).

Closes #1467
2026-07-07 18:56:34 -07:00
..
Bootstrappers Correct DatabaseTenancyBootstrapperTest (#1466) 2026-06-30 18:59:46 -07:00
Etc [MINOR BC BREAK] Syncing: PivotWithRelation -> PivotWithCentralResource 2025-11-26 05:52:55 +01:00
Features Add TenantConfigBootstrapper, deprecate Feature implementation 2025-09-26 13:49:15 +02:00
RLS [4.x] Fix dropRLSPolicies() (#1413) 2025-11-08 00:52:08 +01:00
ActionTest.php resolve minor todos 2025-08-18 15:05:17 +02:00
AutomaticModeTest.php [4.x] Add Tenancy::reinitialize() method (#1449) 2026-04-08 19:21:43 +02:00
BroadcastingTest.php [4.x] Laravel 12 support (#1321) 2025-02-25 16:26:18 +01:00
CachedTenantResolverTest.php Make globalCache always use central conn with DB cache stores (#1462) 2026-06-27 18:30:01 -07:00
CloneActionTest.php Cloning: improve type annotations, add cloneRoutes() for convenience 2025-11-10 02:16:57 +01:00
CombinedDomainAndSubdomainIdentificationTest.php [4.x] Laravel 12 support (#1321) 2025-02-25 16:26:18 +01:00
CommandsTest.php migrate-fresh: show migration output when verbose (#1464) 2026-06-28 19:04:02 -07:00
DatabaseCacheBootstrapperTest.php [4.x] Support database cache store tenancy (#1290) (resolve #852) 2025-08-08 00:54:01 +02:00
DatabasePreparationTest.php Skip DB deletion when create_database=false, add ignoreFailures (#1394) 2026-05-01 21:57:19 +02:00
DatabaseUsersTest.php [4.x] Laravel 12 support (#1321) 2025-02-25 16:26:18 +01:00
DeleteDomainsJobTest.php Resolve test to-dos (#45) 2024-04-18 00:22:03 +02:00
DomainTest.php [4.x] Laravel 12 support (#1321) 2025-02-25 16:26:18 +01:00
EarlyIdentificationTest.php Correct DomainTenantResolver::isSubdomain() check (#1425) 2026-05-11 14:26:06 +02:00
EventListenerTest.php [4.x] Laravel 12 support (#1321) 2025-02-25 16:26:18 +01:00
GlobalCacheTest.php Make globalCache always use central conn with DB cache stores (#1462) 2026-06-27 18:30:01 -07:00
InitializedBootstrappersTest.php [4.x] Only revert initialized bootstrappers (#1385) 2025-08-05 11:12:25 +02:00
MailTest.php [4.x] Laravel 12 support (#1321) 2025-02-25 16:26:18 +01:00
MaintenanceModeTest.php Fix #1404: support universal routes in CheckTenantForMaintenanceMode 2025-10-14 17:22:35 +02:00
ManualModeTest.php [4.x] Laravel 12 support (#1321) 2025-02-25 16:26:18 +01:00
OriginHeaderIdentificationTest.php fix origin identification: parse hostname when full URL is used 2025-07-14 21:44:12 +02:00
PathIdentificationTest.php [4.x] Test that route model binding works correctly with path identification (#1360) 2025-06-02 19:05:17 +02:00
PendingTenantsTest.php [MINOR BC] Fix pending tenant pull race conditions (#1463) 2026-06-25 19:51:39 -07:00
Pest.php [4.x] Support database cache store tenancy (#1290) (resolve #852) 2025-08-08 00:54:01 +02:00
PreventAccessFromUnwantedDomainsTest.php [4.x] Laravel 12 support (#1321) 2025-02-25 16:26:18 +01:00
QueueTest.php [4.x] Laravel 12 support (#1321) 2025-02-25 16:26:18 +01:00
RequestDataIdentificationTest.php [4.x] Resolve testing todos (#1361) 2025-08-03 23:21:03 +02:00
ResourceSyncingTest.php Fix duplicate entry error when updating TenantPivot columns (#1469) 2026-07-07 18:56:34 -07:00
RouteMiddlewareTest.php Instead of assigning $innerMiddleware during group MW unpacking, merge it (#1371) 2025-07-01 17:23:13 +02:00
RunForMultipleTest.php [4.x] Fix 1267: early return in runForMultiple if an empty array is passed (#1286) 2025-02-14 08:19:02 +01:00
ScopeSessionsTest.php [4.x] Make ScopeSessions usable on universal routes (#1342) 2025-04-04 03:15:37 +02:00
SessionSeparationTest.php [4.x] Laravel 13 support (#1443) 2026-03-18 19:17:28 +01:00
SingleDatabaseTenancyTest.php [4.x] Laravel 12 support (#1321) 2025-02-25 16:26:18 +01:00
SingleDomainTenantTest.php [4.x] Laravel 12 support (#1321) 2025-02-25 16:26:18 +01:00
SubdomainTest.php Correct DomainTenantResolver::isSubdomain() check (#1425) 2026-05-11 14:26:06 +02:00
TenantAssetTest.php Remove TestCase::randomString() 2025-08-25 17:43:45 +02:00
TenantAwareCommandTest.php [4.x] Laravel 12 support (#1321) 2025-02-25 16:26:18 +01:00
TenantDatabaseManagerTest.php Parameter validation and other DB manager improvements (#1459) 2026-06-27 19:51:30 -07:00
TenantModelTest.php Add UUIDv7Generator 2025-11-04 15:45:48 +01:00
TenantUserImpersonationTest.php [MINOR BC] UserImpersonation: store auth guard in session, add $logout param to stopImpersonating() (#1437) 2026-06-05 14:15:19 -07:00
TestCase.php Correct DatabaseTenancyBootstrapperTest (#1466) 2026-06-30 18:59:46 -07:00
UniversalRouteTest.php [4.x] Laravel 12 support (#1321) 2025-02-25 16:26:18 +01:00