Ejemplo n.º 1
0
 public NewEntryPage()
 {
     InitializeComponent();
     BindingContext = new NewEntryViewModel(
         DependencyService.Get <INavService>(),
         DependencyService.Get <ILocationService>());
 }
Ejemplo n.º 2
0
        public async Task <IActionResult> NewEntry()
        {
            if (_periodManager.GetPeriod() == Guid.Empty)
            {
                ModelState.AddModelError("", Resources.Global.Common.FinancialPeriodMustBeSpecified);
                return(BadRequest(ModelState.GetWithErrorsKey()));
            }

            var financialPeriod = await _financialPeriodRepo.FindAsync(_periodManager.GetPeriod());

            if (financialPeriod == null)
            {
                return(NotFound("FinancialPeriodNotFound"));
            }
            var newEntry = new NewEntryViewModel();

            newEntry.Number = await _entryRepo.GetNextNumberAsync();

            Guid currencyId = _defaultKeysOptions.Value.CurrencyId;
            var  curency    = await _currencyRepo.FindAsync(currencyId);

            if (curency != null)
            {
                newEntry.CurrencyId    = curency.Number;
                newEntry.CurrencyName  = curency.Name;
                newEntry.CurrencyValue = curency.Value;
            }
            return(Ok(newEntry));
        }
        public NewEntryPage()
        {
            InitializeComponent();

            BindingContextChanged += Page_BindingContextChanged;

            BindingContext = new NewEntryViewModel();
        }
Ejemplo n.º 4
0
        public NewEntryPage()
        {
            InitializeComponent();

            BindingContextChanged += Page_BindingContextChanged;

            BindingContext = new NewEntryViewModel(DependencyService.Get <INavService>());
        }
Ejemplo n.º 5
0
        public async Task NewEntryViewModelInitializationThrowsTest()
        {
            var viewModel = new NewEntryViewModel(TestInit.MockedGeoLocationService.Object, TestInit.MockedTripLogDataService.Object);

            var entry = new TripLogEntry();

            await viewModel.Init(entry);
        }
Ejemplo n.º 6
0
        public ActionResult NewEntry(NewEntryViewModel model)
        {
            var userId = this.authenticationProvider.CurrentUserId;

            this.entryService.AddEntryToLog(model.Content, model.LogId, userId);

            return(this.RedirectToAction("Details", "Logs", new { id = model.LogId, page = -1 }));
        }
Ejemplo n.º 7
0
        public async Task NewEntryViewModelInitializationOkTest()
        {
            var viewModel = new NewEntryViewModel(TestInit.MockedGeoLocationService.Object, TestInit.MockedTripLogDataService.Object);

            await viewModel.Init();

            Assert.AreEqual(1, viewModel.Rating);
        }
Ejemplo n.º 8
0
        private static NewEntryViewModel GetEntryViewModelMock(
            INavService navService, ILocationService locationService,
            ITripLogApiDataService tripLogApiDataService)
        {
            NewEntryViewModel entryViewModelMock = new NewEntryViewModel(navService,
                                                                         locationService, tripLogApiDataService);

            return(entryViewModelMock);
        }
        public void Setup()
        {
            var navMock  = new Mock <INavService>();
            var dataMock = new Mock <ITripLogDataService>();
            var locMock  = new Mock <ILocationService>();

            locMock.Setup(x => x.GetGeoCoordinatesAsync())
            .ReturnsAsync(new GeoCoords
            {
                Latitude  = 123,
                Longitude = 321
            });

            _vm = new NewEntryViewModel(navMock.Object, locMock.Object, dataMock.Object);
        }
Ejemplo n.º 10
0
        public void TestNewEntry_ShouldCallAuthenticationProviderCurrentUserId()
        {
            // Arrange
            var model = new NewEntryViewModel();

            var mockedService = new Mock <IEntryService>();
            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            var controller = new EntriesController(mockedService.Object, mockedAuthenticationProvider.Object);

            // Act
            controller.NewEntry(model);

            // Assert
            mockedAuthenticationProvider.Verify(p => p.CurrentUserId, Times.Once);
        }
Ejemplo n.º 11
0
        public void SaveCommand_TitleIsEmpty_CanExecuteReturnsFalse()
        {
            // Arrange
            Mock <INavService>            navMock  = GetNavMock();
            Mock <ILocationService>       locMock  = GetLocMock();
            Mock <ITripLogApiDataService> dataMock = GetDataMock();

            NewEntryViewModel evm = GetEntryViewModelMock(navMock.Object, locMock.Object, dataMock.Object);

            evm.Title = "";

            // Act
            bool canSave = evm.SaveCommand.CanExecute(null);

            // Assert
            canSave.Should().BeFalse();
        }
Ejemplo n.º 12
0
        public void TestNewEntry_ShouldRedirectCorrectly(int logId)
        {
            // Arrange
            var model = new NewEntryViewModel {
                LogId = logId
            };

            var mockedService = new Mock <IEntryService>();
            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            var controller = new EntriesController(mockedService.Object, mockedAuthenticationProvider.Object);

            // Act, Assert
            controller
            .WithCallTo(c => c.NewEntry(model))
            .ShouldRedirectTo((LogsController c) => c.Details(logId, It.IsAny <int>(), It.IsAny <int>()));
        }
Ejemplo n.º 13
0
        public void SaveCommand_NavigatesBack()
        {
            // Arrange
            Mock <INavService>            navMock  = GetNavMock();
            Mock <ILocationService>       locMock  = GetLocMock();
            Mock <ITripLogApiDataService> dataMock = GetDataMock();

            NewEntryViewModel evm = GetEntryViewModelMock(navMock.Object, locMock.Object, dataMock.Object);

            evm.Title = "Mock Entry";

            // Act
            evm.SaveCommand.Execute(null);

            // Assert
            navMock.Verify(x => x.GoBack(), Times.Once);
        }
Ejemplo n.º 14
0
        public void TestNewEntry_ModelStateIsNotValid_ShouldNotCallAuthenticationProviderCurrentUserId()
        {
            // Arrange
            var model = new NewEntryViewModel();

            var mockedService = new Mock <IEntryService>();
            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            var controller = new EntriesController(mockedService.Object, mockedAuthenticationProvider.Object);

            controller.ModelState.AddModelError("", "");

            // Act
            controller.NewEntry(model);

            // Assert
            mockedAuthenticationProvider.Verify(p => p.CurrentUserId, Times.Never);
        }
Ejemplo n.º 15
0
        public void Init_EntryIsSetWithGeoCoordinates()
        {
            // Arrange
            Mock <INavService>            navMock  = GetNavMock();
            Mock <ILocationService>       locMock  = GetLocMock();
            Mock <ITripLogApiDataService> dataMock = GetDataMock();

            NewEntryViewModel evm = GetEntryViewModelMock(navMock.Object, locMock.Object, dataMock.Object);

            evm.Latitude  = 0.0;
            evm.Longitude = 0.0;

            // Act
            evm.Init();

            // Assert
            evm.Latitude.Should().Be(123);
            evm.Longitude.Should().Be(321);
        }
Ejemplo n.º 16
0
        public void SaveCommand_AddsEntryToTripLogBackend()
        {
            // Arrange
            Mock <INavService>            navMock  = GetNavMock();
            Mock <ILocationService>       locMock  = GetLocMock();
            Mock <ITripLogApiDataService> dataMock = GetDataMock();

            NewEntryViewModel evm = GetEntryViewModelMock(navMock.Object, locMock.Object, dataMock.Object);

            evm.Title = "Mock Entry";

            // Act
            evm.SaveCommand.Execute(null);

            // Assert
            dataMock.Verify(x =>
                            x.AddEntryAsync(It.Is <TripLogEntry>(entry =>
                                                                 entry.Title == "Mock Entry")), Times.AtLeast(1));
        }
Ejemplo n.º 17
0
        public void Setup()
        {
            _navMock  = new Mock <INavService>();
            _dataMock = new Mock <ITripLogDataService>();
            _locMock  = new Mock <ILocationService>();

            _navMock.Setup(x => x.GoBack())
            .Verifiable();

            _dataMock.Setup(x => x.AddEntryAsync(It.Is <TripLogEntry>(entry => entry.Title == "Mock Entry")))
            .Verifiable();

            _locMock.Setup(x => x.GetGeoCoordinatesAsync())
            .ReturnsAsync(new GeoCoords
            {
                Latitude  = 123,
                Longitude = 321
            });

            _vm = new NewEntryViewModel(_navMock.Object, _locMock.Object, _dataMock.Object);
        }
Ejemplo n.º 18
0
        public void Setup()
        {
            _navMock  = new Mock <INavService>();
            _dataMock = new Mock <ITripLogDataService>();
            _lockMock = new Mock <ILocationService>();


            _navMock.Setup(nv => nv.GoBack()).Verifiable();
            _dataMock.Setup(d => d.AddEntryAsync(It.Is <TripLogEntry>(entry =>
                                                                      entry.Title == "Mock Entry"))).Verifiable();
            _lockMock.Setup(ls => ls.GetGeoCoordinatesAsync())
            .ReturnsAsync(new GeoCoords
            {
                Latitude  = 123,
                Longitude = 321
            });

            var analyticsMock = new Mock <IAnalyticsService>().Object;

            _vm = new NewEntryViewModel(_navMock.Object, _lockMock.Object,
                                        _dataMock.Object, analyticsMock);
        }
Ejemplo n.º 19
0
        public void TestNewEntry_ShouldCallEntryServiceAddEntryToLogCorrectly(int logId, string content, string userId)
        {
            // Arrange
            var model = new NewEntryViewModel
            {
                LogId   = logId,
                Content = content
            };

            var mockedService = new Mock <IEntryService>();
            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId);

            var controller = new EntriesController(mockedService.Object, mockedAuthenticationProvider.Object);

            // Act
            controller.NewEntry(model);

            // Assert
            mockedService.Verify(s => s.AddEntryToLog(content, logId, userId), Times.Once);
        }
Ejemplo n.º 20
0
 public EditBookEntries(WorkBook book)
 {
     InitializeComponent();
     BindingContext = new NewEntryViewModel(Navigation, book);
     NavigationPage.SetHasNavigationBar(this, false);
 }