Exemplo n.º 1
0
        public void ItBuildsReportForSpecialCategoriesSpecialLevel()
        {
            Debug.WriteLine(string.Format("Test: {0}", nameof(ItBuildsReportForSpecialCategoriesSpecialLevel)));

            // get report settings
            var reportSettingsService = new ReportSettingService(App.Db);
            var reportSettings        = reportSettingsService.GetForUser(user.Id);

            // create categories of different levels
            var categoryLvl0 = App.Factory.Create <Category>(_ => _.UserId = user.Id);
            var categoryLvl1 = App.Factory.Create <Category>(c =>
            {
                c.UserId           = user.Id;
                c.ParentCategoryId = categoryLvl0.Id;
            });
            var categoryLvl2_1 = App.Factory.Create <Category>(c =>
            {
                c.UserId           = user.Id;
                c.ParentCategoryId = categoryLvl1.Id;
            });
            var categoryLvl2_2 = App.Factory.Create <Category>(c =>
            {
                c.UserId           = user.Id;
                c.ParentCategoryId = categoryLvl1.Id;
            });

            reportSettings.CategoryIds.Add(categoryLvl1.Id);
            reportSettings.CategoryIds.Add(categoryLvl2_1.Id);
            reportSettings.AllCategories = false;
            reportSettings.CategoryLevel = 1;

            // build report and check
            BuildAndCheckReport(reportSettings, _ => _.CategoryId = categoryLvl2_1.Id, _ => _.CategoryId = categoryLvl2_2.Id);
        }
Exemplo n.º 2
0
        public void ItBuildsReportForAllCategoriesAllLevels()
        {
            Debug.WriteLine(string.Format("Test: {0}", nameof(ItBuildsReportForAllCategoriesAllLevels)));

            // get report settings
            var reportSettingsService = new ReportSettingService(App.Db);
            var reportSettings        = reportSettingsService.GetForUser(user.Id);

            reportSettings.AllCategories = true;
            reportSettings.CategoryLevel = -1;

            // build report and check
            BuildAndCheckReport(reportSettings);
        }
Exemplo n.º 3
0
        public void ItBuildsReportForSpecialCategoriesAllLevels()
        {
            Debug.WriteLine(string.Format("Test: {0}", nameof(ItBuildsReportForSpecialCategoriesAllLevels)));

            // get report settings
            var reportSettingsService = new ReportSettingService(App.Db);
            var reportSettings        = reportSettingsService.GetForUser(user.Id);

            // create different categories
            var category1 = App.Factory.Create <Category>(_ => _.UserId = user.Id);
            var category2 = App.Factory.Create <Category>(_ => _.UserId = user.Id);
            var category3 = App.Factory.Create <Category>(_ => _.UserId = user.Id);

            reportSettings.CategoryIds.Add(category1.Id);
            reportSettings.CategoryIds.Add(category2.Id);
            reportSettings.AllCategories = false;
            reportSettings.CategoryLevel = -1;

            // build report and check
            BuildAndCheckReport(reportSettings, _ => _.CategoryId = category2.Id, _ => _.CategoryId = category3.Id);
        }
Exemplo n.º 4
0
        public void ItBuildsReportWithCurrencyExchangeRate()
        {
            Debug.WriteLine(string.Format("Test: {0}", nameof(ItBuildsReportWithCurrencyExchangeRate)));

            // get report settings
            var reportSettingsService = new ReportSettingService(App.Db);
            var reportSettings        = reportSettingsService.GetForUser(user.Id);

            // get main currency
            var currencyService = new CurrencyService(App.Db);
            var mainCurrency    = currencyService.GetMain(user.Id);

            // create currency exchange rate
            var currency     = App.Factory.Create <Currency>(item => item.UserId = user.Id);
            var storageGroup = App.Factory.Create <StorageGroup>(item => item.UserId = user.Id);
            var storage      = App.Factory.Create <Storage>(item =>
            {
                item.UserId         = user.Id;
                item.CurrencyId     = currency.Id;
                item.StorageGroupId = storageGroup.Id;
            });
            var currencyExchangeRate = App.Factory.Create <CurrencyExchangeRate>(item =>
            {
                item.CurrencyFromId = currency.Id;
                item.CurrencyToId   = mainCurrency.Id;
            });

            reportSettings.AllCategories = true;
            reportSettings.CategoryLevel = -1;

            // build report and check
            BuildAndCheckReport(reportSettings, record =>
            {
                record.CurrencyId = currency.Id;
                record.StorageId  = storage.Id;
            });
        }