Exemplo n.º 1
0
        public async Task LoadCommand_SetsItemsCorrectly()
        {
            // arrange
            var navigationsServiceMock = new Mock <IMvxNavigationService>(MockBehavior.Loose);

            var alertServiceMock = MockHelpers.CreateAlertService();

            var zipCodesRepositoryMock = new Mock <IZipCodesRepository>(MockBehavior.Loose);

            zipCodesRepositoryMock.Setup(mock => mock.GetAllForCity(It.IsAny <int>()))
            .Returns(new[] { new ZipCodeModel {
                                 Id = 1
                             } });


            var viewModel = new ZipCodesViewModel(
                navigationsServiceMock.Object,
                alertServiceMock.Object,
                zipCodesRepositoryMock.Object
                );

            // act
            await viewModel.LoadCommand.ExecuteAsync();

            // assert
            Assert.AreEqual(1, viewModel.Items.Count);
        }
Exemplo n.º 2
0
        public async Task SelectCommand_NavigatesToCorrectViewModelWithCorrectData()
        {
            // arrange
            var navigationsServiceMock = new Mock <IMvxNavigationService>(MockBehavior.Loose);

            var alertServiceMock = MockHelpers.CreateAlertService();

            var zipCodesRepositoryMock = new Mock <IZipCodesRepository>(MockBehavior.Loose);

            zipCodesRepositoryMock.Setup(mock => mock.GetAllForCity(It.IsAny <int>()))
            .Returns(new[] { new ZipCodeModel {
                                 Id = 1
                             } });

            var viewModel = new ZipCodesViewModel(
                navigationsServiceMock.Object,
                alertServiceMock.Object,
                zipCodesRepositoryMock.Object
                );

            // act
            await viewModel.LoadCommand.ExecuteAsync();

            await viewModel.SelectCommand.ExecuteAsync(viewModel.Items.First());

            // assert
            navigationsServiceMock.Verify(mock => mock.Navigate <ZipCodeViewModel, ZipCodeViewModel.Parameter>(
                                              It.Is <ZipCodeViewModel.Parameter>(item => item.ZipCodeId == 1),
                                              It.IsAny <IMvxBundle>()
                                              ), Times.Once());
        }
Exemplo n.º 3
0
        public async Task LoadCommand_CallsZipCodesRepositoryWithCorrectData()
        {
            // arrange
            var navigationsServiceMock = new Mock <IMvxNavigationService>(MockBehavior.Loose);

            var alertServiceMock = MockHelpers.CreateAlertService();

            var zipCodesRepositoryMock = new Mock <IZipCodesRepository>(MockBehavior.Loose);

            var viewModel = new ZipCodesViewModel(
                navigationsServiceMock.Object,
                alertServiceMock.Object,
                zipCodesRepositoryMock.Object
                );

            // act
            await viewModel.Initialize(new ZipCodesViewModel.Parameter(3));

            await viewModel.LoadCommand.ExecuteAsync();

            // assert
            zipCodesRepositoryMock.Verify(mock => mock.GetAllForCity(
                                              It.Is <int>(item => item == 3)
                                              ), Times.Once());
        }
Exemplo n.º 4
0
        public async Task LoadCommand_CallsAlertService_LoadFailure()
        {
            // arrange
            var navigationsServiceMock = new Mock <IMvxNavigationService>(MockBehavior.Loose);

            var alertServiceMock = MockHelpers.CreateAlertService();

            var zipCodesRepositoryMock = new Mock <IZipCodesRepository>(MockBehavior.Strict);

            var viewModel = new ZipCodesViewModel(
                navigationsServiceMock.Object,
                alertServiceMock.Object,
                zipCodesRepositoryMock.Object
                );

            // act
            await viewModel.LoadCommand.ExecuteAsync();

            // assert
            alertServiceMock.Verify(mock => mock.Alert(
                                        It.IsAny <string>(),
                                        It.IsAny <string>(),
                                        It.IsAny <string>(),
                                        It.IsAny <Action>()
                                        ), Times.Once());
        }