/** * Test MongaPersistent::create() * * @param array $data The data used to create the object. * * @dataProvider providerCreate * @group model * @group monga */ public function testCreate($data) { try { $object = MongaPersistentObject::create($data, $this->fixture); $this->assertNotNull($object); $this->assertInstanceOf('Tacit\\Model\\Persistent', $object); $this->assertInstanceOf('Tacit\\Model\\Monga\\MongaPersistent', $object); $this->assertInstanceOf('Tacit\\Test\\Model\\Monga\\MongaPersistentObject', $object); } catch (ModelValidationException $e) { echo $e; } }
/** * Test a RESTful PUT request on a RestfulItem * * @param array $data * * @group controller * * @dataProvider providerPut */ public function testPut(array $data) { /** @var MongaPersistentObject $itemObj */ $itemObj = MongaPersistentObject::findOne(['name' => $data['name']], [], $this->fixture); $this->mockEnvironment(['PATH_INFO' => '/monga/collection/' . $itemObj->_id, 'REQUEST_METHOD' => 'PUT', 'CONTENT_TYPE' => 'application/json', 'slim.input' => json_encode($data)]); try { $response = $this->tacit->invoke(); $item = json_decode($response->getBody(), true); unset($data['password']); $matches = array_uintersect_assoc($data, $item, array($this, 'compareMultidimensionalArray')); $this->assertEquals($data, $matches); } catch (RestfulException $e) { $this->fail($e->getMessage()); } }