public void Init_SpendingNotEditing_PropertiesSetupCorrectly() { Mvx.RegisterSingleton(() => new Mock<IMvxMessenger>().Object); var paymentRepoSetup = new Mock<IPaymentRepository>(); paymentRepoSetup.SetupGet(x => x.Selected).Returns(new Payment {ChargedAccountId = 3}); var paymentManager = new PaymentManager(paymentRepoSetup.Object, new Mock<IAccountRepository>().Object, new Mock<IDialogService>().Object); var accountRepoMock = new Mock<IAccountRepository>(); accountRepoMock.Setup(x => x.Load(It.IsAny<Expression<Func<Account, bool>>>())); accountRepoMock.SetupAllProperties(); var accountRepo = accountRepoMock.Object; accountRepo.Data = new ObservableCollection<Account> {new Account {Id = 3}}; var defaultManager = new DefaultManager(accountRepo); var viewmodel = new ModifyPaymentViewModel(paymentRepoSetup.Object, accountRepo, new Mock<IDialogService>().Object, paymentManager, defaultManager); //Execute and Assert viewmodel.Init("Income", true); viewmodel.SelectedPayment.Type.ShouldBe((int) PaymentType.Expense); viewmodel.SelectedPayment.IsTransfer.ShouldBeFalse(); viewmodel.SelectedPayment.IsRecurring.ShouldBeFalse(); }
public void GoToAddPayment_Expense_CorrectPreparation() { Setup(); // for navigation parsing Ioc.RegisterSingleton<IMvxStringToTypeParser>(new MvxStringToTypeParser()); var dbHelper = new Mock<IDatabaseManager>().Object; var accountRepository = new AccountRepository(new AccountDataAccess(dbHelper), new Mock<INotificationService>().Object); var paymentRepository = new PaymentRepository(new PaymentDataAccess(dbHelper), new RecurringPaymentDataAccess(dbHelper), accountRepository, new CategoryRepository(new CategoryDataAccess(dbHelper), new Mock<INotificationService>().Object), new Mock<INotificationService>().Object); var paymentManager = new PaymentManager(paymentRepository, accountRepository, new Mock<IDialogService>().Object); var defaultManager = new DefaultManager(accountRepository); var modifyPaymentViewModel = new ModifyPaymentViewModel(paymentRepository, accountRepository, new Mock<IDialogService>().Object, paymentManager, defaultManager); var mainViewModel = new MainViewModel(); mainViewModel.GoToAddPaymentCommand.Execute(PaymentType.Expense.ToString()); modifyPaymentViewModel.IsEdit.ShouldBeFalse(); modifyPaymentViewModel.IsEndless.ShouldBeTrue(); modifyPaymentViewModel.IsTransfer.ShouldBeFalse(); modifyPaymentViewModel.SelectedPayment.Type.ShouldBe((int) PaymentType.Expense); }
public void Init_IncomeEditing_PropertiesSetupCorrectly() { Mvx.RegisterSingleton(() => new Mock<IMvxMessenger>().Object); var testEndDate = new DateTime(2099, 1, 31); var paymentRepoSetup = new Mock<IPaymentRepository>(); paymentRepoSetup.SetupGet(x => x.Selected).Returns(new Payment { Type = (int) PaymentType.Income, IsRecurring = true, RecurringPayment = new RecurringPayment { EndDate = testEndDate } }); var accountRepoMock = new Mock<IAccountRepository>(); accountRepoMock.Setup(x => x.Load(It.IsAny<Expression<Func<Account, bool>>>())); accountRepoMock.SetupAllProperties(); var accountRepo = accountRepoMock.Object; accountRepo.Data = new ObservableCollection<Account>(); var paymentManager = new PaymentManager(paymentRepoSetup.Object, accountRepo, new Mock<IDialogService>().Object); var defaultManager = new DefaultManager(accountRepo); var viewmodel = new ModifyPaymentViewModel(paymentRepoSetup.Object, accountRepo, new Mock<IDialogService>().Object, paymentManager, defaultManager); //Execute and Assert viewmodel.SelectedPayment.ShouldNotBeNull(); viewmodel.Init("Income", true); viewmodel.SelectedPayment.Type.ShouldBe((int) PaymentType.Income); viewmodel.SelectedPayment.IsTransfer.ShouldBeFalse(); viewmodel.SelectedPayment.IsRecurring.ShouldBeTrue(); viewmodel.SelectedPayment.RecurringPayment.EndDate.ShouldBe(testEndDate); viewmodel.SelectedPayment.RecurringPayment.IsEndless.ShouldBeFalse(); }