protected function runOptionTest($optionKey, $expectedValue, $queryCallback) { $this->config->shouldReceive('get')->once()->with('fakefactory::generate_id')->andReturn(false); $query = new Query($this->factory, $this->config); $buildOptions = array('generate_id' => false, 'override_attributes' => array(), 'with' => array(), 'exclude_attributes' => array(), 'override_rules' => array(), 'skip_related_models' => false); $this->assertEquals($buildOptions, $query->getBuildOptions(), 'Default build options have changed'); $buildOptions[$optionKey] = $expectedValue; $queryCallback($query); $this->assertEquals($buildOptions, $query->getBuildOptions()); }