Exemplo n.º 1
0
 public TrackingController(
     IAuthService authService,
     IUnitOfWork unitOfWork,
     BudgetLoader budgetLoader)
 {
     this.authService  = authService;
     this.unitOfWork   = unitOfWork;
     this.budgetLoader = budgetLoader;
 }
 public BudgetController(
     IAuthService authService,
     BudgetLoader budgetLoader,
     IUnitOfWork unitOfWork)
 {
     this.authService  = authService;
     this.budgetLoader = budgetLoader;
     this.unitOfWork   = unitOfWork;
 }
Exemplo n.º 3
0
 public GetRootFundForTrackingQuery(
     IUnitOfWork unitOfWork,
     BudgetLoader budgetLoader,
     Guid userId,
     DateTime date)
 {
     this.budgetLoader = budgetLoader;
     this.unitOfWork   = unitOfWork;
     this.userId       = userId;
     this.date         = date;
 }
        public async Task Test_FinalizeBudget_Succeeds_WhenBudgetsValid()
        {
            User user = this.buildersAndFactories.GetService <UserFactory>().NewUser();

            (Budget rootBudget, IEnumerable <Budget> allSubBudgetsFlat) = this.buildersAndFactories.GetService <BudgetTreeBuilder>()
                                                                          .SetOwner(user)
                                                                          .SetFixedAmount(300)
                                                                          .AddSubBudget(a => a.SetFixedAmount(100)
                                                                                        .AddSubBudget(aa => aa.SetFixedAmount(100)))
                                                                          .AddSubBudget(b => b.SetFixedAmount(200)
                                                                                        .AddSubBudget(ba => ba.SetFixedAmount(75))
                                                                                        .AddSubBudget(bb => bb.SetFixedAmount(125)))
                                                                          .BuildTree();

            IUnitOfWork  unitOfWork   = this.services.GetService <IUnitOfWork>();
            BudgetLoader budgetLoader = this.services.GetService <BudgetLoader>();

            var budgetRepository = unitOfWork.GetRepository <Budget>();
            var fundRepository   = unitOfWork.GetRepository <Fund>();

            budgetRepository.Add(rootBudget);
            fundRepository.Add(rootBudget.Fund);
            foreach (Budget subBudget in allSubBudgetsFlat)
            {
                budgetRepository.Add(subBudget);
                fundRepository.Add(subBudget.Fund);
            }

            var userRepository = unitOfWork.GetRepository <User>();

            userRepository.Add(rootBudget.Fund.User);
            var periodRepository = unitOfWork.GetRepository <BudgetPeriod>();

            periodRepository.Add(rootBudget.BudgetPeriod);
            var durationRepository = unitOfWork.GetRepository <BudgetDurationBase>();

            durationRepository.Add(rootBudget.Fund.Duration);

            FinalizeBudgetPeriodCommand command = new FinalizeBudgetPeriodCommand(unitOfWork, budgetLoader, rootBudget.Id, rootBudget.Fund.User);
            await command.Run();

            Assert.NotNull(rootBudget.DateFinalizedTo);
        }