count(2)->create(); $licenseA = License::factory()->for($companyA)->create(); $licenseB = License::factory()->for($companyB)->create(); $superUser = $companyA->users()->save(User::factory()->superuser()->make()); $userInCompanyA = $companyA->users()->save(User::factory()->viewLicenses()->make()); $userInCompanyB = $companyB->users()->save(User::factory()->viewLicenses()->make()); $this->settings->disableMultipleFullCompanySupport(); $this->actingAsForApi($superUser) ->getJson(route('api.licenses.index')) ->assertResponseContainsInRows($licenseA) ->assertResponseContainsInRows($licenseB); $this->actingAsForApi($userInCompanyA) ->getJson(route('api.licenses.index')) ->assertResponseContainsInRows($licenseA) ->assertResponseContainsInRows($licenseB); $this->actingAsForApi($userInCompanyB) ->getJson(route('api.licenses.index')) ->assertResponseContainsInRows($licenseA) ->assertResponseContainsInRows($licenseB); $this->settings->enableMultipleFullCompanySupport(); $this->actingAsForApi($superUser) ->getJson(route('api.licenses.index')) ->assertResponseContainsInRows($licenseA) ->assertResponseContainsInRows($licenseB); $this->actingAsForApi($userInCompanyA) ->getJson(route('api.licenses.index')) ->assertResponseContainsInRows($licenseA) ->assertResponseDoesNotContainInRows($licenseB); $this->actingAsForApi($userInCompanyB) ->getJson(route('api.licenses.index')) ->assertResponseDoesNotContainInRows($licenseA) ->assertResponseContainsInRows($licenseB); } }