/**
  * 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;
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 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());
 }