/** * Sets up test rows. */ protected function setUpTestRows() { $fileCollection = $this->getConnection()->getFileCollection(CustomerFile::collectionName()); $customers = []; $files = []; for ($i = 1; $i <= 5; $i++) { $file = ['tag' => 'tag' . $i, 'status' => $i]; $content = 'content' . $i; $file['_id'] = $fileCollection->insertFileContent($content, $file); $file['content'] = $content; $files[] = $file; $customers[] = ['name' => 'name' . $i, 'email' => 'email' . $i, 'address' => 'address' . $i, 'status' => $i, 'file_id' => $file['_id']]; } $customerCollection = $this->getConnection()->getCollection(Customer::collectionName()); $customers = $customerCollection->batchInsert($customers); }
public function getFile() { return $this->hasOne(CustomerFile::className(), ['_id' => 'file_id']); }
/** * @depends testInsertFileContent */ public function testGetFileResource() { $record = new CustomerFile(); $record->tag = 'new new'; $record->status = 7; $newFileContent = 'Test new file content'; $record->setAttribute('newFileContent', $newFileContent); $record->save(); $fileResource = $record->getFileResource(); $contents = stream_get_contents($fileResource); fclose($fileResource); $this->assertEquals($newFileContent, $contents); $record2 = CustomerFile::findOne($record->_id); $fileResource = $record2->getFileResource(); $contents = stream_get_contents($fileResource); fclose($fileResource); $this->assertEquals($newFileContent, $contents); }