/** * Bind an instance of the Source Adapter Factory to the container. * * Attaches the default adapter types * @return void */ public function registerSourceAdapterFactory() { $this->app->singleton('mediable.source.factory', function (Container $app) { $factory = new SourceAdapterFactory(); $adapters = $app['config']->get('mediable.source_adapters'); foreach ($adapters['class'] as $source => $adapter) { $factory->setAdapterForClass($adapter, $source); } foreach ($adapters['pattern'] as $source => $adapter) { $factory->setAdapterForPattern($adapter, $source); } return $factory; }); $this->app->alias('mediable.source.factory', SourceAdapterFactory::class); }
public function test_it_throws_exception_if_invalid_adapter_for_class() { $factory = new SourceAdapterFactory(); $this->expectException(ConfigurationException::class); $factory->setAdapterForClass(stdClass::class, stdClass::class); }