/** @test */ public function it_returns_valid_module_directory() { $this->createModuleMock(); $this->module->shouldReceive('name')->once()->withNoArgs()->passthru(); $this->config->shouldReceive('directory')->once()->withNoArgs()->andReturn('modules/namespace//'); $this->assertSame('modules/namespace' . DIRECTORY_SEPARATOR . $this->name, $this->module->directory()); }
/** * Creates single file * * @param Module $module * @param string $sourceFile * @param string $destinationFile * @param array $replacements * * @throws Exception */ protected function createFile(Module $module, $sourceFile, $destinationFile, array $replacements = []) { $result = $this->laravel['files']->put($module->directory() . DIRECTORY_SEPARATOR . $destinationFile, $this->replace($this->laravel['files']->get($sourceFile), $module, $replacements)); if ($result === false) { throw new Exception("[Module {$module->name()}] Cannot create file {$destinationFile}"); } $this->line("[Module {$module->name()}] Created file {$destinationFile}"); }