Example #1
0
        public async Task PracticeDeckCommandEnabledTest()
        {
            Deck deck = new Deck()
            {
                DeckId = 2
            };
            ApiConnectorMock    mock      = CreateMockForInitialize(new List <Deck>());
            DeckSearchViewModel viewModel = new DeckSearchViewModel(navigationManagerMock, mock);
            await viewModel.InitializeAsync();

            Assert.IsFalse(viewModel.PracticeDeckCommand.IsEnabledFunction(deck));
            deck.CardCount = 1;
            Assert.IsTrue(viewModel.PracticeDeckCommand.IsEnabledFunction(deck));
        }
Example #2
0
        public async Task DoesExecuteSearchOnInitializeTest()
        {
            Deck             deck = new Deck();
            ApiConnectorMock mock = CreateMockForInitialize(new List <Deck>()
            {
                deck
            });
            NavigationManagerMock navigationManagerMock = new NavigationManagerMock();
            DeckSearchViewModel   viewModel             = new DeckSearchViewModel(navigationManagerMock, mock);
            bool result = await viewModel.InitializeAsync();

            Assert.IsTrue(result);
            Assert.AreEqual(1, viewModel.SearchResults.Count);
            Assert.AreSame(deck, viewModel.SearchResults[0]);
        }
Example #3
0
        public void TogglePinnedTest()
        {
            Deck deck = new Deck()
            {
                DeckId = 2
            };
            ApiConnectorMock    mock      = new ApiConnectorMock();
            DeckSearchViewModel viewModel = new DeckSearchViewModel(navigationManagerMock, mock)
            {
                SelectedEntity = deck
            };

            mock.Replies.Push(new ApiReply()
            {
                WasSuccessful = true
            });
            viewModel.TogglePinned(true, deck);

            Assert.IsTrue(deck.IsPinned);
            Assert.AreEqual(HttpMethod.Put, mock.Methods.Pop());
            Assert.AreSame(deck, mock.Parameters.Pop());
        }
Example #4
0
        public async Task ExecuteSearchParametersTest()
        {
            ApiConnectorMock    mock      = CreateMockForInitialize(new List <Deck>());
            DeckSearchViewModel viewModel = new DeckSearchViewModel(navigationManagerMock, mock);

            await viewModel.SearchAsync();

            Dictionary <string, object> parameters = mock.Parameters.Pop() as Dictionary <string, object>;

            Assert.AreEqual(0, parameters.Count);

            viewModel.SearchText = "text";
            mock.Replies.Push(new ApiReply <List <Deck> >()
            {
                WasSuccessful = true,
                Result        = new List <Deck>()
            });
            await viewModel.SearchAsync();

            parameters = mock.Parameters.Pop() as Dictionary <string, object>;
            Assert.AreEqual(1, parameters.Count);
            Assert.AreEqual("text", parameters[nameof(viewModel.SearchText)]);
        }
Example #5
0
        public async Task CommandsAreInitializedCorrectlyTest()
        {
            Deck deck = new Deck()
            {
                DeckId = 2
            };
            ApiConnectorMock    mock      = CreateMockForInitialize(new List <Deck>());
            DeckSearchViewModel viewModel = new DeckSearchViewModel(navigationManagerMock, mock)
            {
                SelectedEntity = deck
            };
            await viewModel.InitializeAsync();

            Assert.IsNotNull(viewModel.NewCommand.CommandText);
            Assert.IsNotNull(viewModel.NewCommand.ToolTip);
            Assert.AreEqual("/New", viewModel.NewCommand.TargetUri);
            Assert.IsTrue(viewModel.NewCommand.IsRelative);

            Assert.IsNotNull(viewModel.EditCommand.CommandText);
            Assert.IsNotNull(viewModel.EditCommand.ToolTip);
            Assert.AreEqual("/2", viewModel.EditCommand.TargetUriFactory.Invoke(deck));
            Assert.IsTrue(viewModel.EditCommand.IsRelative);

            Assert.IsNotNull(viewModel.ShowStatisticsCommand.CommandText);
            Assert.IsNotNull(viewModel.ShowStatisticsCommand.ToolTip);
            Assert.AreEqual("/2/Statistics", viewModel.ShowStatisticsCommand.TargetUriFactory.Invoke(deck));
            Assert.IsTrue(viewModel.ShowStatisticsCommand.IsRelative);

            Assert.IsNotNull(viewModel.PracticeDeckCommand.CommandText);
            Assert.IsNotNull(viewModel.PracticeDeckCommand.ToolTip);
            Assert.AreEqual("/2/Practice", viewModel.PracticeDeckCommand.TargetUriFactory.Invoke(deck));
            Assert.IsTrue(viewModel.PracticeDeckCommand.IsRelative);

            Assert.IsNotNull(viewModel.DeleteCommand.CommandText);
            Assert.IsNotNull(viewModel.DeleteCommand.ToolTip);
        }