/** * Populates a value into an object-like structure. * * @param Parameter $param The schema that defines how the JSON field is being populated * @param mixed $userValue The user value that is populating a JSON field * * @return array */ private function stockObjectJson(Parameter $param, \stdClass $userValue) : array { $object = []; foreach ($userValue as $key => $val) { $object = $this->stockJson($param->getProperty($key), $val, $object); } return $object; }
/** * Populates a value into an object-like structure. * * @param mixed $userValue The user value that is populating a JSON field * @param Parameter $param The schema that defines how the JSON field is being populated * * @return array */ private function stockObjectJson($userValue, Parameter $param) { $object = []; foreach ($userValue as $key => $val) { $object = $this->stockJson($val, $param->getProperty($key), $object); } return $object; }
public function test_it_allows_property_retrieval() { $definition = $this->api->postServer()['params']['networks']['items'] + ['name' => 'network']; $param = new Parameter($definition); $this->assertInstanceOf(self::PARAMETER_CLASS, $param->getProperty('uuid')); }
public function test_it_gets_property() { $property = new Parameter(['name' => 'metadata', 'properties' => ['type' => 'string', 'prefix' => 'foo']]); $prop = $property->getProperty('metadata'); $this->assertInstanceOf(Parameter::class, $prop); $this->assertEquals('foo', $prop->getPrefix()); }