public void Save_EmptyName_CorrectDefault() { var testList = new List<Account>(); const string nameInput = ""; var accountDataAccessSetup = new Mock<IDataAccess<Account>>(); accountDataAccessSetup.Setup(x => x.SaveItem(It.IsAny<Account>())) .Callback((Account acc) => testList.Add(acc)); accountDataAccessSetup.Setup(x => x.LoadList(null)).Returns(new List<Account>()); var accountRepository = new AccountRepository(accountDataAccessSetup.Object, new Mock<INotificationService>().Object); var account = new Account { Name = nameInput, CurrentBalance = 6034 }; accountRepository.Save(account); Assert.AreSame(testList[0], account); Assert.AreSame(testList[0].Name, account.Name); }
public void CheckRecurringPayments_Daily_CorrectPaymentsCreated() { //Setup var sqliteConnector = new SqliteConnectionCreator(new WindowsSqliteConnectionFactory(), new MvxWindowsCommonFileStore()); var accountRepo = new AccountRepository(new AccountDataAccess(sqliteConnector)); var paymentRepo = new PaymentRepository(new PaymentDataAccess(sqliteConnector), new RecurringPaymentDataAccess(sqliteConnector), accountRepo, new CategoryRepository(new CategoryDataAccess(sqliteConnector))); var account = new Account { Name = "test1", CurrentBalance = 100 }; accountRepo.Save(account); var payment = new Payment { ChargedAccount = account, Amount = 10, Date = DateTime.Today.AddDays(-1), IsRecurring = true }; payment.RecurringPayment = RecurringPaymentHelper. GetRecurringFromPayment(payment, true, (int) PaymentRecurrence.Daily, DateTime.Now.AddYears(1)); paymentRepo.Save(payment); //Execution new RecurringPaymentManager(paymentRepo, accountRepo).CheckRecurringPayments(); //Assert Assert.AreEqual(90, account.CurrentBalance); Assert.AreEqual(90, accountRepo.Data[0].CurrentBalance); Assert.AreEqual(2, paymentRepo.Data.Count); Assert.IsTrue(paymentRepo.Data[0].IsCleared); Assert.IsTrue(paymentRepo.Data[1].IsCleared); Assert.IsTrue(paymentRepo.Data[0].IsRecurring); Assert.IsTrue(paymentRepo.Data[1].IsRecurring); Assert.AreNotEqual(0, paymentRepo.Data[0].RecurringPaymentId); Assert.AreNotEqual(0, paymentRepo.Data[1].RecurringPaymentId); Assert.IsNotNull(paymentRepo.Data[0].RecurringPayment); Assert.IsNotNull(paymentRepo.Data[1].RecurringPayment); }
public ClearPaymentBackgroundTask() { #if !DEBUG HockeyClient.Current.Configure(ServiceConstants.HOCKEY_APP_WINDOWS_ID); #endif HockeyClient.Current.TrackEvent("BackgroundTask"); var sqliteConnectionCreator = new DatabaseManager(new WindowsSqliteConnectionFactory(), new MvxWindowsCommonFileStore()); var notificationService = new NotificationService(); var accountRepository = new AccountRepository(new AccountDataAccess(sqliteConnectionCreator), notificationService); paymentManager = new PaymentManager( new PaymentRepository(new PaymentDataAccess(sqliteConnectionCreator), new RecurringPaymentDataAccess(sqliteConnectionCreator), accountRepository, new CategoryRepository(new CategoryDataAccess(sqliteConnectionCreator), notificationService), notificationService), accountRepository, null); }
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 Delete_None_AccountDeleted() { var testList = new List<Account>(); var accountDataAccessSetup = new Mock<IDataAccess<Account>>(); accountDataAccessSetup.Setup(x => x.SaveItem(It.IsAny<Account>())) .Callback((Account acc) => testList.Add(acc)); var account = new Account { Name = "Sparkonto", CurrentBalance = 6034 }; accountDataAccessSetup.Setup(x => x.LoadList(null)).Returns(new List<Account> { account }); var repository = new AccountRepository(accountDataAccessSetup.Object, new Mock<INotificationService>().Object); repository.Delete(account); Assert.IsFalse(testList.Any()); Assert.IsFalse(repository.Data.Any()); }
public void Load_AccountDataAccess_DataInitialized() { var accountDataAccessSetup = new Mock<IDataAccess<Account>>(); accountDataAccessSetup.Setup(x => x.LoadList(null)).Returns(new List<Account> { new Account {Id = 10}, new Account {Id = 15} }); var accountRepository = new AccountRepository(accountDataAccessSetup.Object, new Mock<INotificationService>().Object); accountRepository.Load(); Assert.IsTrue(accountRepository.Data.Any(x => x.Id == 10)); Assert.IsTrue(accountRepository.Data.Any(x => x.Id == 15)); }