public async Task RedeemMatchRewards_CallsRedeemMatchRewardsOnce() { // Arrange var stubEvent = new UserCreatedEvent() { Id = Guid.NewGuid() }; var mockBus = new Mock <IBus>(); var mockPackService = new Mock <IPackService>(); var mockServiceProvider = new Mock <IServiceProvider>(); mockServiceProvider.Setup(x => x.GetService(typeof(IPackService))).Returns(mockPackService.Object); var mockServiceScope = new Mock <IServiceScope>(); mockServiceScope.SetupGet(x => x.ServiceProvider).Returns(mockServiceProvider.Object); var mockServiceScopeFactory = new Mock <IServiceScopeFactory>(); mockServiceScopeFactory.Setup(x => x.CreateScope()).Returns(mockServiceScope.Object); // Act var subscriber = new UserCreatedEventSubscriber(mockBus.Object, mockServiceScopeFactory.Object); await subscriber.CreateStartingPacksAsync(stubEvent); // Assert mockPackService.Verify(x => x.CreateStartingPacksAsync(stubEvent.Id), Times.Once); }
public void Subscribe_SubscribeAsyncOnce() { // Arrange var mockBus = new Mock <IBus>(); var mockServiceScopeFactory = new Mock <IServiceScopeFactory>(); // Act var responder = new UserCreatedEventSubscriber(mockBus.Object, mockServiceScopeFactory.Object); responder.Subscribe(); // Assert mockBus.Verify(x => x.SubscribeAsync("store", It.IsAny <Func <UserCreatedEvent, Task> >()), Times.Once); }