Пример #1
0
        public Budget CreateBudget(BudgetTemplate template, DateTime startDate)
        {
            var endDate = default(DateTime);
            switch (template.Duration)
            {
                case Duration.Weekly:
                    endDate = AddWeek(startDate);
                    break;

                case Duration.Monthly:
                    endDate = AddMonth(startDate);
                    break;

                case Duration.Quarterly:
                    break;

                case Duration.Yearly:
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
            }

            return new Budget {ValidFrom = startDate, ValidTo = endDate};
        }
Пример #2
0
        public IHttpActionResult CreateTemplate(CreateTemplateModel parameter)
        {
            var template = new BudgetTemplate { Duration = parameter.Duration, Name = parameter.Name };
            _templateRepository.Persist(template);

            return CreatedAtRoute("GetTemplateById", new { id = template.Id }, template);
        }
        public void CreateBudgetTemplate_Should_Persist_Budget_Template_In_Repository()
        {
            var budgetTemplate = new BudgetTemplate();

            _sut.CreateBudgetTemplate(budgetTemplate);

            A.CallTo(() => _templateRepository.Persist(budgetTemplate))
                .MustHaveHappened();
        }
        public void CreateBudgetTemplate_Should_Return_Budget_Template_From_Repository()
        {
            var expected = new BudgetTemplate();
            A.CallTo(() => _templateRepository.Persist(A<BudgetTemplate>._))
                .Returns(expected);

            var result = _sut.CreateBudgetTemplate(new BudgetTemplate());

            Assert.That(result, Is.EqualTo(expected));
        }
        public void CreateBudgetFromTemplate_By_Template_Should_Create_Budget_Using_Factory()
        {
            var someTemplate = new BudgetTemplate();
            var someDate = DateTime.Today;

            _sut.CreateBudgetFromTemplate(someTemplate, someDate);

            A.CallTo(() => _budgetFactory.CreateBudget(someTemplate, someDate))
             .MustHaveHappened();
        }
Пример #6
0
        public void Can_Create_Monthly_Budget_From_Template(DateTime expectedStartDate, DateTime expectedEndDate)
        {
            // Arrange
            var template = new BudgetTemplate {Duration = Duration.Monthly, Name = "Monthly Budget"};

            // Act
            var budget = _budgetFactory.CreateBudget(template, expectedStartDate);

            // Assert
            Assert.That(budget, Is.Not.Null);
            Assert.That(budget.ValidFrom, Is.EqualTo(expectedStartDate));
            Assert.That(budget.ValidTo, Is.EqualTo(expectedEndDate));
        }
        public void CreateBudgetFromTemplate_By_Template_Id_Should_Persist_Created_Budget_In_Repository()
        {
            var someTemplateId = 1;
            var someTemplate = new BudgetTemplate();
            var someBudget = new Budget();
            A.CallTo(() => _templateRepository.FindById(someTemplateId))
                .Returns(someTemplate);
            A.CallTo(() => _budgetFactory.CreateBudget(A<BudgetTemplate>._, A<DateTime>._))
                .Returns(someBudget);

            _sut.CreateBudgetFromTemplate(someTemplateId, DateTime.Today);

            A.CallTo(() => _budgetRepository.Persist(someBudget)).MustHaveHappened();
        }
Пример #8
0
        public void Can_Create_Weekly_Budget_From_Template()
        {
            // Arrange
            var template = new BudgetTemplate {Duration = Duration.Weekly, Name = "Weekly Budget"};
            var expectedStartDate = new DateTime(2015, 10, 2);
            var expectedEndDate = new DateTime(2015, 10, 8);

            // Act
            var budget = _budgetFactory.CreateBudget(template, expectedStartDate);

            // Assert
            Assert.That(budget, Is.Not.Null);
            Assert.That(budget.ValidFrom, Is.EqualTo(expectedStartDate));
            Assert.That(budget.ValidTo, Is.EqualTo(expectedEndDate));
        }
Пример #9
0
 public BudgetTemplate UpdateBudgetTemplate(BudgetTemplate template)
 {
     return _templateRepository.Persist(template);
 }
Пример #10
0
 public Budget CreateBudgetFromTemplate(BudgetTemplate template, DateTime startDate)
 {
     Budget newBudget = _factory.CreateBudget(template, startDate);
     _budgetRepository.Persist(newBudget);
     return newBudget;
 }