public async Task TestDoubleRefresh() { var objectUnderTest = new TestTopicViewModelBase( _ownerMock.Object, _itemMock.Object, new List <Subscription>()); var firstTask = objectUnderTest.Refresh(); var secondTask = objectUnderTest.Refresh(); _getSubscriptionListSource.SetResult(new List <Subscription>()); await firstTask; await secondTask; _ownerMock.Verify(o => o.DataSource.GetSubscriptionListAsync(), Times.Once); }
public async Task TestRefreshEmpty() { var objectUnderTest = new TestTopicViewModelBase( _ownerMock.Object, _itemMock.Object, new List <Subscription> { _childSubscription }); _getSubscriptionListSource.SetResult(new List <Subscription>()); await objectUnderTest.Refresh(); Assert.AreEqual(0, objectUnderTest.Children.Count); }
public async Task TestRefreshChild() { var objectUnderTest = new TestTopicViewModelBase( _ownerMock.Object, _itemMock.Object, new List <Subscription>()); _getSubscriptionListSource.SetResult(new List <Subscription> { _childSubscription }); await objectUnderTest.Refresh(); List <string> captions = objectUnderTest.Children.Cast <SubscriptionViewModel>().Select(s => s.Caption).ToList(); CollectionAssert.AreEquivalent(new[] { MockSubscriptionLeafName }, captions); }
public async Task TestRefreshChild() { var objectUnderTest = new TestTopicViewModelBase( _ownerMock.Object, _itemMock.Object, new List <Subscription>()); _getSubscriptionListSource.SetResult(new List <Subscription> { _childSubscription }); await objectUnderTest.Refresh(); Assert.AreEqual(1, objectUnderTest.Children.Count); var subscriptions = objectUnderTest.Children.OfType <SubscriptionViewModel>().ToList(); Assert.AreEqual(1, subscriptions.Count); Assert.IsTrue(subscriptions.Single().Caption == MockSubscriptionLeafName); }
public void TestRefreshLoading() { var objectUnderTest = new TestTopicViewModelBase( _ownerMock.Object, _itemMock.Object, new List <Subscription> { _childSubscription }); var refreshTask = objectUnderTest.Refresh(); Assert.IsFalse(refreshTask.IsCompleted); Assert.AreEqual(1, objectUnderTest.Children.Count); var loadingChild = objectUnderTest.Children.Single() as TreeLeaf; Assert.IsNotNull(loadingChild); Assert.IsTrue(loadingChild.IsLoading); Assert.AreEqual(Resources.CloudExplorerPubSubLoadingSubscriptionsCaption, loadingChild.Caption); }
public async Task TestRefreshError() { var objectUnderTest = new TestTopicViewModelBase( _ownerMock.Object, _itemMock.Object, new List <Subscription> { _childSubscription }); _getSubscriptionListSource.SetException(new DataSourceException(MockExceptionMessage)); await objectUnderTest.Refresh(); Assert.AreEqual(1, objectUnderTest.Children.Count); var errorChild = objectUnderTest.Children.Single() as TreeLeaf; Assert.IsNotNull(errorChild); Assert.IsTrue(errorChild.IsError); Assert.AreEqual(Resources.CloudExplorerPubSubListSubscriptionsErrorCaption, errorChild.Caption); }