示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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]);
        }
示例#4
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);
        }
示例#5
0
        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);
        }