public async Task ShouldNotEmitMessageIfUserIsNotRegistered( string content, Snowflake userId, Snowflake channelId, [Frozen, Substitute] IMessageEmitter emitter, [Frozen, Substitute] IUserService userService, [Target] MessageCreateEventController controller ) { var cancellationToken = new CancellationToken(false); var author = new User { Id = userId }; var message = new Message { Content = content, Author = author, ChannelId = channelId, Mentions = Array.Empty <UserMention>() }; var @event = new MessageCreateEvent { Message = message }; userService.IsUserRegistered(Any <User>(), Any <CancellationToken>()).Returns(false); await controller.Handle(@event, cancellationToken); await emitter.DidNotReceive().Emit(Is(message), Is(channelId), Is(cancellationToken)); await userService.Received().IsUserRegistered(Is(author), Is(cancellationToken)); }
public async Task ShouldThrowIfCanceled( string content, [Frozen, Substitute] IMessageEmitter emitter, [Target] MessageCreateEventController controller ) { var cancellationToken = new CancellationToken(true); var message = new Message { Content = content }; var @event = new MessageCreateEvent { Message = message }; Func <Task> func = () => controller.Handle(@event, cancellationToken); await func.Should().ThrowAsync <OperationCanceledException>(); await emitter.DidNotReceive().Emit(Any <Message>(), Any <Snowflake>(), Any <CancellationToken>()); }