public async Task CanInvokeAsyncMethod() { var handler = new ValueCommandHandler(); var command = new ValueCommand(11); await this.testee.InvokeAsync(handler, command).ConfigureAwait(false); handler.Value.Should().Be(11); }
public async Task DoesNotInvokeAsyncHandler_WhenItWasNotAddedBefore() { var handler = new ValueCommandHandler(); var command = new ValueCommand(11); await this.testee.InvokeAsync(handler, command).ConfigureAwait(false); handler.Value.Should().Be(0); }
public void CanSubscribeCommandHandler() { var handler = new ValueCommandHandler(); this.testee.SubscribeCommandHandler <ValueCommand>(handler.HandleAsync); var subscription = this.testee.Subscriptions.GetCommandSubscription(new ValueCommand(11)); subscription.Should().BeAssignableTo <CommandSubscription <ValueCommand> >(); }
public async Task CanInvokeAsyncHandlerWithMessage_WhenTheirTypeRelationshipWasAddedBefore() { this.testee.Add(typeof(ValueCommandHandler), typeof(ValueCommand)); var handler = new ValueCommandHandler(); var command = new ValueCommand(11); await this.testee.InvokeAsync(handler, command).ConfigureAwait(false); handler.Value.Should().Be(11); }
public async Task CanGetCommandSubscription_WhenItHasBeenSubscribedWithAssemblyScanningBefore() { Action <Type> register = t => { }; var command = new ValueCommand(Value); var handler = new ValueCommandHandler(); A.CallTo(() => this.handlerRegistry.GetCommandHandler(command)).Returns(handler); this.testee.ScanAssemblyForMessageHandlers(Assembly.GetExecutingAssembly(), register); var subscription = this.testee.GetCommandSubscription(command); await subscription.HandleAsync(command).ConfigureAwait(false); handler.Value.Should().Be(Value); }