예제 #1
0
        public void CategoryExists_tells_if_an_id_exists(int testId, bool expectedResult)
        {
            // Arrange
            var categories = new List <BudgetCategory> {
                new BudgetCategory {
                    ID = 1
                }
            }.AsQueryable();

            _mockRepo.Setup(m => m.GetCategories()).Returns(categories);

            // Act
            var result = _testService.CategoryExists(testId);

            // Assert
            Assert.AreEqual(expectedResult, result);
        }
예제 #2
0
 /// <summary>
 /// The default Constructor
 /// </summary>
 /// <param name="service">The service to use in the controller</param>
 public BudgetCategoryController(ICategoryManagerService service)
     : base(
         // Setup required functions
         singleAdder: vm => service.AddCategoryAsync(vm.Name, vm.Amount, vm.Type),
         singleDeleter: id => service.RemoveCategoryAsync(id),
         singleEditor: vm => service.UpdateCategoryAsync(vm.NavId, vm.Amount, vm.EffectiveFrom, vm.Type),
         existanceChecker: vm => service.CategoryExists(vm.NavId)
         )
 {
     CollectionGetter  = () => GetViewModelCollection(service);
     ViewModelCreator  = id => CreateViewModel(id, service);
     ExceptionHandling = new Dictionary <Type, Func <Exception, IActionResult> > {
         { typeof(InvalidDateExpection), ex => {
               ModelState.AddModelError(nameof(BudgetCategory.EffectiveFrom), ex.Message);
               return(null);
           } },
         { typeof(ExpenseTrackerException), ex => {
               return(NotFound());
           } }
     };
 }