public void Should_resolve_command() { var mockCommand = new Mock<ICommand>(); var mockCommandCatalog = new Mock<ICommandCatalog>(); var mockCommandInvoker = new Mock<ICommandInvoker>(); mockCommandCatalog.Setup(x => x.GetEnumerator()).Returns(() => new List<ICommand> { mockCommand.Object }.GetEnumerator()); mockCommand.Setup(x => x.Match(It.IsAny<IEnumerable<string>>())) .Returns(() => new CommandResult()); var defaultCommandResolver = new DefaultCommandResolver(mockCommandCatalog.Object, mockCommandInvoker.Object); defaultCommandResolver.Resolve(new List<string> { "fake" }); mockCommand.Verify(x => x.Match(It.IsAny<IEnumerable<string>>())); }
public void ShouldResolve_Commands_Successfully() { var containerBuilder = new ContainerBuilder(); containerBuilder.RegisterType(typeof(CommandTest)).AsSelf(); ContextScopeProvider.RegisterTypes(containerBuilder); var httpContextMoq = new HttpContextMoq(); var accessor = new Mock<IHttpContextAccessor>(); accessor .Setup(a => a.GetCurrent()) .Returns(() => httpContextMoq.HttpContextBase); var provider = new PerWebRequestContainerProvider(accessor.Object); var resolver = new DefaultCommandResolver(provider); var commandContext = new CommandContextTest(); var command = resolver.ResolveCommand<CommandTest>(commandContext); Assert.IsNotNull(command); Assert.AreEqual(command.Context, commandContext); }
public void Should_throw_exception_when_no_commands_are_matched() { var mockCommand = new Mock<ICommand>(); var mockCommandCatalog = new Mock<ICommandCatalog>(); var mockCommandInvoker = new Mock<ICommandInvoker>(); mockCommandCatalog.Setup(x => x.GetEnumerator()).Returns(() => new List<ICommand> { mockCommand.Object }.GetEnumerator()); mockCommand.Setup(x => x.Match(It.IsAny<IEnumerable<string>>())) .Returns(() => null); var defaultCommandResolver = new DefaultCommandResolver(mockCommandCatalog.Object, mockCommandInvoker.Object); Assert.Throws<Exception>(() => { defaultCommandResolver.Resolve(new List<string> {"fake"}); }); }
public void Should_resolve_command() { var mockCommand = new Mock <ICommand>(); var mockCommandCatalog = new Mock <ICommandCatalog>(); var mockCommandInvoker = new Mock <ICommandInvoker>(); mockCommandCatalog.Setup(x => x.GetEnumerator()).Returns(() => new List <ICommand> { mockCommand.Object }.GetEnumerator()); mockCommand.Setup(x => x.Match(It.IsAny <IEnumerable <string> >())) .Returns(() => new CommandResult()); var defaultCommandResolver = new DefaultCommandResolver(mockCommandCatalog.Object, mockCommandInvoker.Object); defaultCommandResolver.Resolve(new List <string> { "fake" }); mockCommand.Verify(x => x.Match(It.IsAny <IEnumerable <string> >())); }
public void Should_throw_exception_when_no_commands_are_matched() { var mockCommand = new Mock <ICommand>(); var mockCommandCatalog = new Mock <ICommandCatalog>(); var mockCommandInvoker = new Mock <ICommandInvoker>(); mockCommandCatalog.Setup(x => x.GetEnumerator()).Returns(() => new List <ICommand> { mockCommand.Object }.GetEnumerator()); mockCommand.Setup(x => x.Match(It.IsAny <IEnumerable <string> >())) .Returns(() => null); var defaultCommandResolver = new DefaultCommandResolver(mockCommandCatalog.Object, mockCommandInvoker.Object); Assert.Throws <Exception>(() => { defaultCommandResolver.Resolve(new List <string> { "fake" }); }); }
public void ShouldResolve_Commands_Successfully() { var containerBuilder = new ContainerBuilder(); containerBuilder.RegisterType(typeof(CommandTest)).AsSelf(); ContextScopeProvider.RegisterTypes(containerBuilder); var httpContextMoq = new HttpContextMoq(); var accessor = new Mock <IHttpContextAccessor>(); accessor .Setup(a => a.GetCurrent()) .Returns(() => httpContextMoq.HttpContextBase); var provider = new PerWebRequestContainerProvider(accessor.Object); var resolver = new DefaultCommandResolver(provider); var commandContext = new CommandContextTest(); var command = resolver.ResolveCommand <CommandTest>(commandContext); Assert.IsNotNull(command); Assert.AreEqual(command.Context, commandContext); }