'Australia/Eucla', 'environment' => 'production']); $this->app->instance('config', $config); $handler = new Handler(); $this->app->instance('error.handler', $handler); /** @var ConfigureEnvironmentServiceProvider|MockObject $serviceProvider */ $serviceProvider = $this->getMockBuilder(ConfigureEnvironmentServiceProvider::class) ->setConstructorArgs([$this->app]) ->onlyMethods(['setTimeZone', 'displayErrors', 'errorReporting']) ->getMock(); $serviceProvider->expects($this->exactly(2)) ->method('setTimeZone') ->willReturnCallback(function (CarbonTimeZone $timeZone): void { $this->assertEquals('Australia/Eucla', $timeZone->getName()); }); $serviceProvider->expects($this->exactly(3)) ->method('displayErrors') ->withConsecutive([false], [false], [true]); $serviceProvider->expects($this->exactly(1)) ->method('errorReporting') ->with(E_ALL); $serviceProvider->register(); $this->assertNotEquals(Handler::ENV_DEVELOPMENT, $handler->getEnvironment()); $config->set('environment', 'development'); $serviceProvider->register(); $this->assertEquals(Handler::ENV_DEVELOPMENT, $handler->getEnvironment()); } }