Test enum attribute creation and response model
This commit is contained in:
parent
7fbe95de30
commit
d8ba1095cd
|
@ -143,6 +143,17 @@ trait DatabaseBase
|
|||
'default' => 'default@example.com',
|
||||
]);
|
||||
|
||||
$enum = $this->client->call(Client::METHOD_POST, '/database/collections/' . $collectionId . '/attributes/enum', array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $this->getProject()['$id'],
|
||||
'x-appwrite-key' => $this->getProject()['apiKey']
|
||||
]), [
|
||||
'attributeId' => 'enum',
|
||||
'elements' => ['yes', 'no', 'maybe'],
|
||||
'required' => false,
|
||||
'default' => 'maybe',
|
||||
]);
|
||||
|
||||
$ip = $this->client->call(Client::METHOD_POST, '/database/collections/' . $collectionId . '/attributes/ip', array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $this->getProject()['$id'],
|
||||
|
@ -210,11 +221,23 @@ trait DatabaseBase
|
|||
$this->assertEquals('email', $email['body']['key']);
|
||||
$this->assertEquals('string', $email['body']['type']);
|
||||
$this->assertEquals('processing', $email['body']['status']);
|
||||
$this->assertEquals('processing', $email['body']['status']);
|
||||
$this->assertEquals(false, $email['body']['required']);
|
||||
$this->assertEquals(false, $email['body']['array']);
|
||||
$this->assertEquals('email', $email['body']['format']);
|
||||
$this->assertEquals('default@example.com', $email['body']['default']);
|
||||
|
||||
$this->assertEquals(201, $enum['headers']['status-code']);
|
||||
$this->assertEquals('enum', $enum['body']['key']);
|
||||
$this->assertEquals('string', $enum['body']['type']);
|
||||
$this->assertEquals('processing', $enum['body']['status']);
|
||||
$this->assertEquals(false, $enum['body']['required']);
|
||||
$this->assertEquals(false, $enum['body']['array']);
|
||||
$this->assertEquals('enum', $enum['body']['format']);
|
||||
$this->assertEquals('maybe', $enum['body']['default']);
|
||||
$this->assertIsArray($enum['body']['elements']);
|
||||
$this->assertEquals(['yes', 'no', 'maybe'], $enum['body']['elements']);
|
||||
|
||||
$this->assertEquals(201, $ip['headers']['status-code']);
|
||||
$this->assertEquals('ip', $ip['body']['key']);
|
||||
$this->assertEquals('string', $ip['body']['type']);
|
||||
|
@ -276,6 +299,12 @@ trait DatabaseBase
|
|||
'x-appwrite-key' => $this->getProject()['apiKey']
|
||||
]));
|
||||
|
||||
$enumResponse = $this->client->call(Client::METHOD_GET, "/database/collections/{$collectionId}/attributes/{$collectionId}_{$enum['body']['key']}",array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $this->getProject()['$id'],
|
||||
'x-appwrite-key' => $this->getProject()['apiKey']
|
||||
]));
|
||||
|
||||
$ipResponse = $this->client->call(Client::METHOD_GET, "/database/collections/{$collectionId}/attributes/{$collectionId}_{$ip['body']['key']}",array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $this->getProject()['$id'],
|
||||
|
@ -324,6 +353,16 @@ trait DatabaseBase
|
|||
$this->assertEquals($email['body']['format'], $emailResponse['body']['format']);
|
||||
$this->assertEquals($email['body']['default'], $emailResponse['body']['default']);
|
||||
|
||||
$this->assertEquals(200, $enumResponse['headers']['status-code']);
|
||||
$this->assertEquals($enum['body']['key'], $enumResponse['body']['key']);
|
||||
$this->assertEquals($enum['body']['type'], $enumResponse['body']['type']);
|
||||
$this->assertEquals('available', $enumResponse['body']['status']);
|
||||
$this->assertEquals($enum['body']['required'], $enumResponse['body']['required']);
|
||||
$this->assertEquals($enum['body']['array'], $enumResponse['body']['array']);
|
||||
$this->assertEquals($enum['body']['format'], $enumResponse['body']['format']);
|
||||
$this->assertEquals($enum['body']['default'], $enumResponse['body']['default']);
|
||||
$this->assertEquals($enum['body']['elements'], $enumResponse['body']['elements']);
|
||||
|
||||
$this->assertEquals(200, $ipResponse['headers']['status-code']);
|
||||
$this->assertEquals($ip['body']['key'], $ipResponse['body']['key']);
|
||||
$this->assertEquals($ip['body']['type'], $ipResponse['body']['type']);
|
||||
|
@ -377,12 +416,12 @@ trait DatabaseBase
|
|||
]));
|
||||
|
||||
$this->assertEquals(200, $attributes['headers']['status-code']);
|
||||
$this->assertEquals(7, $attributes['body']['sum']);
|
||||
$this->assertEquals(8, $attributes['body']['sum']);
|
||||
|
||||
$attributes = $attributes['body']['attributes'];
|
||||
|
||||
$this->assertIsArray($attributes);
|
||||
$this->assertCount(7, $attributes);
|
||||
$this->assertCount(8, $attributes);
|
||||
|
||||
$this->assertEquals($stringResponse['body']['key'], $attributes[0]['key']);
|
||||
$this->assertEquals($stringResponse['body']['type'], $attributes[0]['type']);
|
||||
|
@ -400,46 +439,55 @@ trait DatabaseBase
|
|||
$this->assertEquals($emailResponse['body']['default'], $attributes[1]['default']);
|
||||
$this->assertEquals($emailResponse['body']['format'], $attributes[1]['format']);
|
||||
|
||||
$this->assertEquals($ipResponse['body']['key'], $attributes[2]['key']);
|
||||
$this->assertEquals($ipResponse['body']['type'], $attributes[2]['type']);
|
||||
$this->assertEquals($ipResponse['body']['status'], $attributes[2]['status']);
|
||||
$this->assertEquals($ipResponse['body']['required'], $attributes[2]['required']);
|
||||
$this->assertEquals($ipResponse['body']['array'], $attributes[2]['array']);
|
||||
$this->assertEquals($ipResponse['body']['default'], $attributes[2]['default']);
|
||||
$this->assertEquals($ipResponse['body']['format'], $attributes[2]['format']);
|
||||
$this->assertEquals($enumResponse['body']['key'], $attributes[2]['key']);
|
||||
$this->assertEquals($enumResponse['body']['type'], $attributes[2]['type']);
|
||||
$this->assertEquals($enumResponse['body']['status'], $attributes[2]['status']);
|
||||
$this->assertEquals($enumResponse['body']['required'], $attributes[2]['required']);
|
||||
$this->assertEquals($enumResponse['body']['array'], $attributes[2]['array']);
|
||||
$this->assertEquals($enumResponse['body']['default'], $attributes[2]['default']);
|
||||
$this->assertEquals($enumResponse['body']['format'], $attributes[2]['format']);
|
||||
$this->assertEquals($enumResponse['body']['elements'], $attributes[2]['elements']);
|
||||
|
||||
$this->assertEquals($urlResponse['body']['key'], $attributes[3]['key']);
|
||||
$this->assertEquals($urlResponse['body']['type'], $attributes[3]['type']);
|
||||
$this->assertEquals($urlResponse['body']['status'], $attributes[3]['status']);
|
||||
$this->assertEquals($urlResponse['body']['required'], $attributes[3]['required']);
|
||||
$this->assertEquals($urlResponse['body']['array'], $attributes[3]['array']);
|
||||
$this->assertEquals($urlResponse['body']['default'], $attributes[3]['default']);
|
||||
$this->assertEquals($urlResponse['body']['format'], $attributes[3]['format']);
|
||||
$this->assertEquals($ipResponse['body']['key'], $attributes[3]['key']);
|
||||
$this->assertEquals($ipResponse['body']['type'], $attributes[3]['type']);
|
||||
$this->assertEquals($ipResponse['body']['status'], $attributes[3]['status']);
|
||||
$this->assertEquals($ipResponse['body']['required'], $attributes[3]['required']);
|
||||
$this->assertEquals($ipResponse['body']['array'], $attributes[3]['array']);
|
||||
$this->assertEquals($ipResponse['body']['default'], $attributes[3]['default']);
|
||||
$this->assertEquals($ipResponse['body']['format'], $attributes[3]['format']);
|
||||
|
||||
$this->assertEquals($integerResponse['body']['key'], $attributes[4]['key']);
|
||||
$this->assertEquals($integerResponse['body']['type'], $attributes[4]['type']);
|
||||
$this->assertEquals($integerResponse['body']['status'], $attributes[4]['status']);
|
||||
$this->assertEquals($integerResponse['body']['required'], $attributes[4]['required']);
|
||||
$this->assertEquals($integerResponse['body']['array'], $attributes[4]['array']);
|
||||
$this->assertEquals($integerResponse['body']['default'], $attributes[4]['default']);
|
||||
$this->assertEquals($integerResponse['body']['min'], $attributes[4]['min']);
|
||||
$this->assertEquals($integerResponse['body']['max'], $attributes[4]['max']);
|
||||
$this->assertEquals($urlResponse['body']['key'], $attributes[4]['key']);
|
||||
$this->assertEquals($urlResponse['body']['type'], $attributes[4]['type']);
|
||||
$this->assertEquals($urlResponse['body']['status'], $attributes[4]['status']);
|
||||
$this->assertEquals($urlResponse['body']['required'], $attributes[4]['required']);
|
||||
$this->assertEquals($urlResponse['body']['array'], $attributes[4]['array']);
|
||||
$this->assertEquals($urlResponse['body']['default'], $attributes[4]['default']);
|
||||
$this->assertEquals($urlResponse['body']['format'], $attributes[4]['format']);
|
||||
|
||||
$this->assertEquals($floatResponse['body']['key'], $attributes[5]['key']);
|
||||
$this->assertEquals($floatResponse['body']['type'], $attributes[5]['type']);
|
||||
$this->assertEquals($floatResponse['body']['status'], $attributes[5]['status']);
|
||||
$this->assertEquals($floatResponse['body']['required'], $attributes[5]['required']);
|
||||
$this->assertEquals($floatResponse['body']['array'], $attributes[5]['array']);
|
||||
$this->assertEquals($floatResponse['body']['default'], $attributes[5]['default']);
|
||||
$this->assertEquals($floatResponse['body']['min'], $attributes[5]['min']);
|
||||
$this->assertEquals($floatResponse['body']['max'], $attributes[5]['max']);
|
||||
$this->assertEquals($integerResponse['body']['key'], $attributes[5]['key']);
|
||||
$this->assertEquals($integerResponse['body']['type'], $attributes[5]['type']);
|
||||
$this->assertEquals($integerResponse['body']['status'], $attributes[5]['status']);
|
||||
$this->assertEquals($integerResponse['body']['required'], $attributes[5]['required']);
|
||||
$this->assertEquals($integerResponse['body']['array'], $attributes[5]['array']);
|
||||
$this->assertEquals($integerResponse['body']['default'], $attributes[5]['default']);
|
||||
$this->assertEquals($integerResponse['body']['min'], $attributes[5]['min']);
|
||||
$this->assertEquals($integerResponse['body']['max'], $attributes[5]['max']);
|
||||
|
||||
$this->assertEquals($booleanResponse['body']['key'], $attributes[6]['key']);
|
||||
$this->assertEquals($booleanResponse['body']['type'], $attributes[6]['type']);
|
||||
$this->assertEquals($booleanResponse['body']['status'], $attributes[6]['status']);
|
||||
$this->assertEquals($booleanResponse['body']['required'], $attributes[6]['required']);
|
||||
$this->assertEquals($booleanResponse['body']['array'], $attributes[6]['array']);
|
||||
$this->assertEquals($booleanResponse['body']['default'], $attributes[6]['default']);
|
||||
$this->assertEquals($floatResponse['body']['key'], $attributes[6]['key']);
|
||||
$this->assertEquals($floatResponse['body']['type'], $attributes[6]['type']);
|
||||
$this->assertEquals($floatResponse['body']['status'], $attributes[6]['status']);
|
||||
$this->assertEquals($floatResponse['body']['required'], $attributes[6]['required']);
|
||||
$this->assertEquals($floatResponse['body']['array'], $attributes[6]['array']);
|
||||
$this->assertEquals($floatResponse['body']['default'], $attributes[6]['default']);
|
||||
$this->assertEquals($floatResponse['body']['min'], $attributes[6]['min']);
|
||||
$this->assertEquals($floatResponse['body']['max'], $attributes[6]['max']);
|
||||
|
||||
$this->assertEquals($booleanResponse['body']['key'], $attributes[7]['key']);
|
||||
$this->assertEquals($booleanResponse['body']['type'], $attributes[7]['type']);
|
||||
$this->assertEquals($booleanResponse['body']['status'], $attributes[7]['status']);
|
||||
$this->assertEquals($booleanResponse['body']['required'], $attributes[7]['required']);
|
||||
$this->assertEquals($booleanResponse['body']['array'], $attributes[7]['array']);
|
||||
$this->assertEquals($booleanResponse['body']['default'], $attributes[7]['default']);
|
||||
|
||||
$collection = $this->client->call(Client::METHOD_GET, '/database/collections/' . $collectionId, array_merge([
|
||||
'content-type' => 'application/json',
|
||||
|
@ -452,7 +500,7 @@ trait DatabaseBase
|
|||
$attributes = $collection['body']['attributes'];
|
||||
|
||||
$this->assertIsArray($attributes);
|
||||
$this->assertCount(7, $attributes);
|
||||
$this->assertCount(8, $attributes);
|
||||
|
||||
$this->assertEquals($stringResponse['body']['key'], $attributes[0]['key']);
|
||||
$this->assertEquals($stringResponse['body']['type'], $attributes[0]['type']);
|
||||
|
@ -470,46 +518,55 @@ trait DatabaseBase
|
|||
$this->assertEquals($emailResponse['body']['default'], $attributes[1]['default']);
|
||||
$this->assertEquals($emailResponse['body']['format'], $attributes[1]['format']);
|
||||
|
||||
$this->assertEquals($ipResponse['body']['key'], $attributes[2]['key']);
|
||||
$this->assertEquals($ipResponse['body']['type'], $attributes[2]['type']);
|
||||
$this->assertEquals($ipResponse['body']['status'], $attributes[2]['status']);
|
||||
$this->assertEquals($ipResponse['body']['required'], $attributes[2]['required']);
|
||||
$this->assertEquals($ipResponse['body']['array'], $attributes[2]['array']);
|
||||
$this->assertEquals($ipResponse['body']['default'], $attributes[2]['default']);
|
||||
$this->assertEquals($ipResponse['body']['format'], $attributes[2]['format']);
|
||||
$this->assertEquals($enumResponse['body']['key'], $attributes[2]['key']);
|
||||
$this->assertEquals($enumResponse['body']['type'], $attributes[2]['type']);
|
||||
$this->assertEquals($enumResponse['body']['status'], $attributes[2]['status']);
|
||||
$this->assertEquals($enumResponse['body']['required'], $attributes[2]['required']);
|
||||
$this->assertEquals($enumResponse['body']['array'], $attributes[2]['array']);
|
||||
$this->assertEquals($enumResponse['body']['default'], $attributes[2]['default']);
|
||||
$this->assertEquals($enumResponse['body']['format'], $attributes[2]['format']);
|
||||
$this->assertEquals($enumResponse['body']['elements'], $attributes[2]['elements']);
|
||||
|
||||
$this->assertEquals($urlResponse['body']['key'], $attributes[3]['key']);
|
||||
$this->assertEquals($urlResponse['body']['type'], $attributes[3]['type']);
|
||||
$this->assertEquals($urlResponse['body']['status'], $attributes[3]['status']);
|
||||
$this->assertEquals($urlResponse['body']['required'], $attributes[3]['required']);
|
||||
$this->assertEquals($urlResponse['body']['array'], $attributes[3]['array']);
|
||||
$this->assertEquals($urlResponse['body']['default'], $attributes[3]['default']);
|
||||
$this->assertEquals($urlResponse['body']['format'], $attributes[3]['format']);
|
||||
$this->assertEquals($ipResponse['body']['key'], $attributes[3]['key']);
|
||||
$this->assertEquals($ipResponse['body']['type'], $attributes[3]['type']);
|
||||
$this->assertEquals($ipResponse['body']['status'], $attributes[3]['status']);
|
||||
$this->assertEquals($ipResponse['body']['required'], $attributes[3]['required']);
|
||||
$this->assertEquals($ipResponse['body']['array'], $attributes[3]['array']);
|
||||
$this->assertEquals($ipResponse['body']['default'], $attributes[3]['default']);
|
||||
$this->assertEquals($ipResponse['body']['format'], $attributes[3]['format']);
|
||||
|
||||
$this->assertEquals($integerResponse['body']['key'], $attributes[4]['key']);
|
||||
$this->assertEquals($integerResponse['body']['type'], $attributes[4]['type']);
|
||||
$this->assertEquals($integerResponse['body']['status'], $attributes[4]['status']);
|
||||
$this->assertEquals($integerResponse['body']['required'], $attributes[4]['required']);
|
||||
$this->assertEquals($integerResponse['body']['array'], $attributes[4]['array']);
|
||||
$this->assertEquals($integerResponse['body']['default'], $attributes[4]['default']);
|
||||
$this->assertEquals($integerResponse['body']['min'], $attributes[4]['min']);
|
||||
$this->assertEquals($integerResponse['body']['max'], $attributes[4]['max']);
|
||||
$this->assertEquals($urlResponse['body']['key'], $attributes[4]['key']);
|
||||
$this->assertEquals($urlResponse['body']['type'], $attributes[4]['type']);
|
||||
$this->assertEquals($urlResponse['body']['status'], $attributes[4]['status']);
|
||||
$this->assertEquals($urlResponse['body']['required'], $attributes[4]['required']);
|
||||
$this->assertEquals($urlResponse['body']['array'], $attributes[4]['array']);
|
||||
$this->assertEquals($urlResponse['body']['default'], $attributes[4]['default']);
|
||||
$this->assertEquals($urlResponse['body']['format'], $attributes[4]['format']);
|
||||
|
||||
$this->assertEquals($floatResponse['body']['key'], $attributes[5]['key']);
|
||||
$this->assertEquals($floatResponse['body']['type'], $attributes[5]['type']);
|
||||
$this->assertEquals($floatResponse['body']['status'], $attributes[5]['status']);
|
||||
$this->assertEquals($floatResponse['body']['required'], $attributes[5]['required']);
|
||||
$this->assertEquals($floatResponse['body']['array'], $attributes[5]['array']);
|
||||
$this->assertEquals($floatResponse['body']['default'], $attributes[5]['default']);
|
||||
$this->assertEquals($floatResponse['body']['min'], $attributes[5]['min']);
|
||||
$this->assertEquals($floatResponse['body']['max'], $attributes[5]['max']);
|
||||
$this->assertEquals($integerResponse['body']['key'], $attributes[5]['key']);
|
||||
$this->assertEquals($integerResponse['body']['type'], $attributes[5]['type']);
|
||||
$this->assertEquals($integerResponse['body']['status'], $attributes[5]['status']);
|
||||
$this->assertEquals($integerResponse['body']['required'], $attributes[5]['required']);
|
||||
$this->assertEquals($integerResponse['body']['array'], $attributes[5]['array']);
|
||||
$this->assertEquals($integerResponse['body']['default'], $attributes[5]['default']);
|
||||
$this->assertEquals($integerResponse['body']['min'], $attributes[5]['min']);
|
||||
$this->assertEquals($integerResponse['body']['max'], $attributes[5]['max']);
|
||||
|
||||
$this->assertEquals($booleanResponse['body']['key'], $attributes[6]['key']);
|
||||
$this->assertEquals($booleanResponse['body']['type'], $attributes[6]['type']);
|
||||
$this->assertEquals($booleanResponse['body']['status'], $attributes[6]['status']);
|
||||
$this->assertEquals($booleanResponse['body']['required'], $attributes[6]['required']);
|
||||
$this->assertEquals($booleanResponse['body']['array'], $attributes[6]['array']);
|
||||
$this->assertEquals($booleanResponse['body']['default'], $attributes[6]['default']);
|
||||
$this->assertEquals($floatResponse['body']['key'], $attributes[6]['key']);
|
||||
$this->assertEquals($floatResponse['body']['type'], $attributes[6]['type']);
|
||||
$this->assertEquals($floatResponse['body']['status'], $attributes[6]['status']);
|
||||
$this->assertEquals($floatResponse['body']['required'], $attributes[6]['required']);
|
||||
$this->assertEquals($floatResponse['body']['array'], $attributes[6]['array']);
|
||||
$this->assertEquals($floatResponse['body']['default'], $attributes[6]['default']);
|
||||
$this->assertEquals($floatResponse['body']['min'], $attributes[6]['min']);
|
||||
$this->assertEquals($floatResponse['body']['max'], $attributes[6]['max']);
|
||||
|
||||
$this->assertEquals($booleanResponse['body']['key'], $attributes[7]['key']);
|
||||
$this->assertEquals($booleanResponse['body']['type'], $attributes[7]['type']);
|
||||
$this->assertEquals($booleanResponse['body']['status'], $attributes[7]['status']);
|
||||
$this->assertEquals($booleanResponse['body']['required'], $attributes[7]['required']);
|
||||
$this->assertEquals($booleanResponse['body']['array'], $attributes[7]['array']);
|
||||
$this->assertEquals($booleanResponse['body']['default'], $attributes[7]['default']);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue