public async Task ScheduleSendNotification_GetNotification() { //Arrange var type = nameof(SampleEmailNotification); var criteria4 = AbstractTypeFactory <NotificationSearchCriteria> .TryCreateInstance(); criteria4.Take = 1; criteria4.NotificationType = type; _notificationSearchServiceMock.Setup(x => x.SearchNotificationsAsync(criteria4)).ReturnsAsync(new NotificationSearchResult()); _notificationRegistrar.RegisterNotification <SampleEmailNotification>().WithTemplates(new EmailNotificationTemplate() { Subject = "SampleEmailNotification test", Body = "SampleEmailNotification body test", }); var notification = AbstractTypeFactory <Notification> .TryCreateInstance(nameof(SampleEmailNotification)); notification.IsActive = true; var jsonSerializeSettings = new JsonSerializerSettings { Converters = new List <JsonConverter> { new PolymorphJsonConverter() } }; GlobalConfiguration.Configuration.UseSerializerSettings(jsonSerializeSettings); //Act await _sender.ScheduleSendNotificationAsync(notification); //Assert Func <Job, bool> condition = job => job.Method.Name == nameof(NotificationSender.TrySendNotificationMessageAsync) && job.Args[0] is null; Expression <Func <Job, bool> > expression = a => condition(a); _backgroundJobClient.Verify(x => x.Create(It.Is(expression), It.IsAny <EnqueuedState>())); }