protected function withoutModelEvents()
    {
        $mock = Mockery::mock('Illuminate\Contracts\Events\Dispatcher');

        $mock->shouldReceive('dispatch')->andReturnUsing(function ($called) {
            $this->firedModelEvents[] = $called;
        });

        $mock->shouldReceive('until')->andReturnUsing(function ($called) {
            $this->firedModelEvents[] = $called;

            return true;
        });

        $mock->shouldReceive('listen')->andReturnUsing(function ($event, $listener) {
            //
        });

        Model::setEventDispatcher($mock);

        return $this;
    }