コード例 #1
0
        public void OnNavigatingTo__DisplaysErrorAlertOnSignInException(string username)
        {
            // ARRANGE
            var parameters = new NavigationParameters
            {
                { nameof(username), username },
            };

            var mockNavigationService = new Mock <INavigationService>();
            var mockDialogService     = new Mock <IPageDialogService>();

            mockDialogService.Setup(d => d.DisplayAlertAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns(Task.CompletedTask);

            var mockBlikService = new Mock <IBlikService>();

            mockBlikService.Setup(s => s.GetBlikCodeAsync(It.IsAny <UserDto>()))
            .Throws <ArgumentException>();

            var viewModel = new BlikCodePageViewModel(mockNavigationService.Object, mockBlikService.Object, mockDialogService.Object);

            // ACT
            Should.NotThrow(() => viewModel.OnNavigatingTo(parameters));

            // ASSERT
            mockDialogService.Verify(d => d.DisplayAlertAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once);
        }
コード例 #2
0
        public void OnNavigatingTo__ShouldNavigateBackOnInvalidCredentials(string username)
        {
            // ARRANGE
            var expectedBlikCode = 100200;
            var parameters       = new NavigationParameters
            {
                { nameof(username), username },
            };

            var mockNavigationService = new Mock <INavigationService>();
            var mockDialogService     = new Mock <IPageDialogService>();
            var mockBlikService       = new Mock <IBlikService>();

            mockBlikService.Setup(s => s.GetBlikCodeAsync(It.IsAny <UserDto>()))
            .ReturnsAsync(expectedBlikCode);

            var viewModel = new BlikCodePageViewModel(mockNavigationService.Object, mockBlikService.Object, mockDialogService.Object);

            // ACT
            Should.NotThrow(() => viewModel.OnNavigatingTo(parameters));

            // ASSERT
            mockNavigationService.Verify(n => n.GoBackAsync(), Times.Once);
        }
コード例 #3
0
        public void OnNavigatingTo__ShouldParseNavigationParametersCorrectly(string username)
        {
            // ARRANGE
            var expectedBlikCode = 100200;
            var parameters       = new NavigationParameters
            {
                { nameof(username), username },
            };

            var mockNavigationService = new Mock <INavigationService>();
            var mockDialogService     = new Mock <IPageDialogService>();
            var mockBlikService       = new Mock <IBlikService>();

            mockBlikService.Setup(s => s.GetBlikCodeAsync(It.IsAny <UserDto>()))
            .ReturnsAsync(expectedBlikCode);

            var viewModel = new BlikCodePageViewModel(mockNavigationService.Object, mockBlikService.Object, mockDialogService.Object);

            // ACT
            Should.NotThrow(() => viewModel.OnNavigatingTo(parameters));

            // ASSERT
            viewModel.BlikCode.ShouldBe(expectedBlikCode);
        }