public async Task CommandsAreInitializedCorrectlyTest() { Card card = new Card() { CardId = 1, DeckId = 2 }; ApiConnectorMock mock = CreateMockForInitialize(true, true, new List <Card>() { card }, new List <Deck>()); CardSearchViewModel viewModel = new CardSearchViewModel(navigationManagerMock, mock) { SelectedEntity = card }; await viewModel.InitializeAsync(); Assert.IsNotNull(viewModel.NewCommand.CommandText); Assert.IsNotNull(viewModel.NewCommand.ToolTip); Assert.AreEqual("/Decks/2/Cards/New", viewModel.NewCommand.TargetUriFactory.Invoke(null)); Assert.IsNotNull(viewModel.EditCommand.CommandText); Assert.IsNotNull(viewModel.EditCommand.ToolTip); Assert.AreEqual("/Decks/2/Cards/1", viewModel.EditCommand.TargetUriFactory.Invoke(card)); Assert.IsNotNull(viewModel.ShowStatisticsCommand.CommandText); Assert.IsNotNull(viewModel.ShowStatisticsCommand.ToolTip); Assert.AreEqual("/Decks/2/Cards/1/Statistics", viewModel.ShowStatisticsCommand.TargetUriFactory.Invoke(card)); Assert.IsNotNull(viewModel.DeleteCommand.CommandText); Assert.IsNotNull(viewModel.DeleteCommand.ToolTip); }
public async Task NewCommandEnabledTest() { ApiConnectorMock mock = CreateMockForInitialize(true, true, new List <Card>(), new List <Deck>()); CardSearchViewModel viewModel = new CardSearchViewModel(navigationManagerMock, mock); await viewModel.InitializeAsync(); Assert.IsFalse(viewModel.NewCommand.IsEnabled); viewModel.SelectedEntity = new Card(); Assert.IsTrue(viewModel.NewCommand.IsEnabled); }
public async Task DoesExecuteSearchOnInitializeTest() { Card card = new Card(); ApiConnectorMock mock = CreateMockForInitialize(true, true, new List <Card>() { card }, new List <Deck>()); CardSearchViewModel viewModel = new CardSearchViewModel(navigationManagerMock, mock); bool result = await viewModel.InitializeAsync(); Assert.IsTrue(result); Assert.AreEqual(1, viewModel.SearchResults.Count); Assert.AreSame(card, viewModel.SearchResults[0]); }
public async Task LoadsAvailableDecksErrorTest() { ApiConnectorMock mock = CreateMockForInitialize(false, true, new List <Card>(), new List <Deck>() { new Deck() { DeckId = 1, Title = "test" } }); CardSearchViewModel viewModel = new CardSearchViewModel(navigationManagerMock, mock); bool result = await viewModel.InitializeAsync(); Assert.IsFalse(result); Assert.AreEqual("test-error", notificationProviderMock.Message); Assert.AreEqual(NotificationKind.ErrorNotification, notificationProviderMock.NotificationKind); }
public async Task LoadsAvailableDecksOnInitializeTest() { ApiConnectorMock mock = CreateMockForInitialize(true, true, new List <Card>(), new List <Deck>() { new Deck() { DeckId = 1, Title = "test" } }); CardSearchViewModel viewModel = new CardSearchViewModel(navigationManagerMock, mock); bool result = await viewModel.InitializeAsync(); Assert.IsTrue(result); Assert.AreEqual(2, viewModel.AvailableDecks.Count); Assert.IsTrue(viewModel.AvailableDecks.Contains("test")); Assert.IsTrue(viewModel.AvailableDecks.Contains(Messages.All)); Assert.IsTrue(viewModel.DeckSelectable); }