public static PersistentSubscriptions Update(this PersistentSubscriptions persistentSubscriptions, List <PersistentSubscriptionInfo> subscriptions) { return(persistentSubscriptions with { LastTimeRefreshed = DateTime.Now, InitialState = false, PersistentSubscriptionInfo = subscriptions }); }
public async Task SubscriptionRepository_GetSubscriptions_ReturnsSubscriptions() { List <PersistentSubscriptionInfo> allSubscriptions = (TestData.GetPersistentSubscriptions_DemoEstate()); Func <CancellationToken, Task <List <PersistentSubscriptionInfo> > > GetAllSubscriptions = async token => allSubscriptions; ISubscriptionRepository subscriptionRepository = SubscriptionRepository.Create(GetAllSubscriptions); PersistentSubscriptions list = await subscriptionRepository.GetSubscriptions(true, CancellationToken.None); list.PersistentSubscriptionInfo.Count.ShouldBe(allSubscriptions.Count); }
private SubscriptionRepository(Int32 cacheDuration = 120) { this.Subscriptions = new PersistentSubscriptions(); this.RefreshRequired = (force, s) => force || s.InitialState || SubscriptionRepository.RefreshNeeded(s.LastTimeRefreshed, cacheDuration); }