public RoundViewModelTest()
        {
            _quizzes            = GenerateQuizzesList();
            _selectedQuizIndex  = _random.Next(_quizzes.Count);
            _selectedQuiz       = _quizzes[_selectedQuizIndex];
            _selectedRoundIndex = _random.Next(_selectedQuiz.QuizRounds.Count);
            _selectedRound      = _selectedQuiz.QuizRounds[_selectedRoundIndex];

            _quizServiceMock = new Mock <IQuizService>();
            _quizServiceMock.Setup(qS => qS.GetAllQuizzes()).ReturnsAsync(_quizzes);
            _quizServiceMock.Setup(qS => qS.DeleteQuiz(It.IsAny <int>())).ReturnsAsync(true);
            _quizServiceMock.Setup(qS => qS.EditQuiz(It.IsAny <int>(), It.IsAny <Quiz>())).ReturnsAsync(true);
            _roundServiceMock = new Mock <IRoundService>();
            _roundServiceMock.Setup(rS => rS.EditRound(It.IsAny <int>(), It.IsAny <Round>())).ReturnsAsync(true);
            _navigationServiceExMock = new Mock <INavigationServiceEx>();
            _navigationServiceExMock.Setup(nS => nS.GoBack()).Returns(true);
            _navigationServiceExMock.Setup(nS => nS.Navigate(It.IsAny <string>(), It.IsAny <object>(), It.IsAny <NavigationTransitionInfo>())).Returns(true);
            _messengerCacheMock = new Mock <IMessengerCache>();
            _messengerCacheMock.Setup(mC => mC.CachedSelectedQuiz).Returns(_selectedQuiz);
            _messengerCacheMock.Setup(mC => mC.CachedSelectedRound).Returns(_selectedRound);

            _sender = new QuizzenViewModel(_quizServiceMock.Object, _navigationServiceExMock.Object);
            _sender.EditQuizCommand.Execute(_selectedQuizIndex);
            _intermediate = new EditQuizViewModel(_quizServiceMock.Object, _navigationServiceExMock.Object, _messengerCacheMock.Object);
            _intermediate.NavigateToRoundCommand.Execute(_selectedRound);
            _sut = new RoundViewModel(_roundServiceMock.Object, _navigationServiceExMock.Object, _messengerCacheMock.Object);
        }
Example #2
0
        public void Constructor_ShouldLoadAllQuizzes()
        {
            //Act
            var sut = new QuizzenViewModel(_quizServiceMock.Object, _navigationServiceExMock.Object);

            //Assert
            Assert.Equal(_quizzes, sut.Quizzes);
            _quizServiceMock.Verify(qS => qS.GetAllQuizzes(), Times.AtLeastOnce); //Normally it's once but since the ViewModel is created in the Constructor of this test it's twice
        }
Example #3
0
        public QuizzenViewModelTest()
        {
            _quizzes = GenerateQuizzesList();

            _quizServiceMock = new Mock <IQuizService>();
            _quizServiceMock.Setup(qS => qS.GetAllQuizzes()).ReturnsAsync(_quizzes);
            _navigationServiceExMock = new Mock <INavigationServiceEx>();
            _navigationServiceExMock.Setup(nS => nS.Navigate(It.IsAny <string>(), It.IsAny <object>(), It.IsAny <NavigationTransitionInfo>())).Returns(true);

            _sut = new QuizzenViewModel(_quizServiceMock.Object, _navigationServiceExMock.Object);
        }
        public CreateQuizViewModelTest()
        {
            _quizzes = GenerateQuizzesList();

            _quizServiceMock = new Mock <IQuizService>();
            _quizServiceMock.Setup(qS => qS.GetAllQuizzes()).ReturnsAsync(_quizzes);
            _quizServiceMock.Setup(qS => qS.AddQuiz(It.IsAny <Quiz>())).ReturnsAsync(true);
            _navigationServiceExMock = new Mock <INavigationServiceEx>();
            _navigationServiceExMock.Setup(nS => nS.Navigate(It.IsAny <string>(), It.IsAny <object>(), It.IsAny <NavigationTransitionInfo>())).Returns(true);

            _sender = new QuizzenViewModel(_quizServiceMock.Object, _navigationServiceExMock.Object);
            _sender.CreateQuizCommand.Execute(null);
            _sut = new CreateQuizViewModel(_quizServiceMock.Object, _navigationServiceExMock.Object);
        }