public function testAddFile()
 {
     $model = $this->createObject($this->modelClass, ['field' => 'gallery', 'multiple' => true, 'rules.maxFiles' => 2]);
     $response1 = $this->runUploadAction(['modelObject' => $model, 'attribute' => 'gallery', 'inputName' => 'file-300']);
     $model->gallery = [$response1['id']];
     $model->save();
     $response2 = $this->runUploadAction(['modelObject' => $model, 'attribute' => 'gallery', 'inputName' => 'file-300']);
     $model->gallery = [$response1['id'], $response2['id']];
     $model->save();
     $files = $model->allFiles('gallery');
     $this->assertCount(2, $files);
     foreach ($files as $file) {
         $this->assertInstanceOf(File::className(), $file);
         $this->assertFileExists($model->filePath('gallery', $file));
     }
 }
 public function testWrongFilePath()
 {
     $model = $this->createObject($this->modelClass);
     $response = $this->runUploadAction(['modelObject' => $model, 'attribute' => 'image', 'inputName' => 'file-300']);
     $model->image = $response['id'];
     $model->save();
     $model->image = 'test';
     $model->save();
     $file = File::findOne($response['id']);
     $this->assertInstanceOf(File::className(), $file);
     $this->assertEquals($response['id'], $model->file('image')->id);
 }
Beispiel #3
0
 public function getFiles($callable = null)
 {
     return $this->hasMany(File::className(), ['id' => 'file_id'])->viaTable('news_files', ['news_id' => 'id'], $callable);
 }