public async Task Should_Distribute_Push_Request() { //Arrange var guid = _generator.Create(); _store.GetRequestOrNullAsync(Arg.Any <Guid>()).ReturnsForAnyArgs(CreatePushRequest()); _store.GetSubscriptionsAsync(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>()) .ReturnsForAnyArgs(new List <PushRequestSubscription> { CreatePushRequestSubscription() }); //Act await _distributor.DistributeAsync(guid); //Assert await _store.Received().GetRequestOrNullAsync(Arg.Any <Guid>()); await _store.Received().DeleteRequestAsync(Arg.Is <Guid>(n => n.Equals(guid))); }
public async Task Should_Publish_Push_Request() { //Arrange var pushRequestData = CreatePushRequestData(); //Act await _publisher.PublishAsync("TestPushRequest", pushRequestData, priority : PushRequestPriority.AboveNormal); //Assert await _store.Received() .InsertRequestAsync( Arg.Is <PushRequest>(n => n.Name == "TestPushRequest" && n.Priority == PushRequestPriority.AboveNormal && n.DataTypeName == pushRequestData.GetType().AssemblyQualifiedName&& n.Data.Contains("42") ) ); await _backgroundJobManager.Received() .EnqueueAsync <PushRequestDistributionJob, PushRequestDistributionJobArgs>( Arg.Any <PushRequestDistributionJobArgs>() ); }