public async Task Should_throw_when_no_matching_executor() { var executors = new Dictionary <Type, Func <IEsiFragment, EsiExecutionContext, Task <IEnumerable <string> > > >(); var fragmentExecutor = new EsiFragmentExecutor(executors, new PipelineContainer().GetInstance); var fragment = new FakeFragment(); // ReSharper disable once PossibleNullReferenceException var exception = await Record.ExceptionAsync(() => fragmentExecutor.Execute(fragment, EmptyExecutionContext())); exception.Should().Be.InstanceOf <NotSupportedException>(); }
public async Task Should_run_executor_for_fragment() { var executors = new Dictionary <Type, Func <IEsiFragment, EsiExecutionContext, Task <IEnumerable <string> > > > { [typeof(FakeFragment)] = (f, ec) => Task.FromResult <IEnumerable <string> >(new[] { "fake", "content" }) }; var fragmentExecutor = new EsiFragmentExecutor(executors, new PipelineContainer().GetInstance); var fragment = new FakeFragment(); var result = await fragmentExecutor.Execute(fragment, EmptyExecutionContext()); result.Should().Have.SameSequenceAs("fake", "content"); }