Пример #1
0
 def calculate_indicator_metrics(self):
     project_metrics = metrics_calc.get_project(self.project.pronac)
     metrics = FinancialIndicator.METRICS
     for metric_name in metrics:
         for metric in metrics[metric_name]:
             x = getattr(project_metrics.finance, metric)
             Metric.create_metric(metric, x, self)
Пример #2
0
    def test_inlier_pronac(self):
        project = metrics.get_project('137225')
        response = project.finance.item_prices
        expected_keys = [
            'is_outlier', 'outliers_amount', 'total_items', 'maximum_expected',
            'percentage'
        ]

        assert all(key in response for key in expected_keys)
        assert not response['is_outlier']
Пример #3
0
    def test_get_metrics(self):
        project = metrics.get_project('130222')
        response = project.finance.new_providers

        expected_keys = [
            'novos_fornecedores',
            'new_providers_percentage',
            'segment_average_percentage',
            'is_outlier',
            'all_projects_average_percentage',
        ]
        assert all(key in response for key in expected_keys)
Пример #4
0
    def test_proponent_with_analyzed_project(self):
        pronac = "1011645"  # CGCCPF -> 00367651000114
        project = metrics.get_project(pronac)

        # Testing metric
        proponent_pronacs = project.finance.proponent_projects

        assert proponent_pronacs['analyzed_projects']['number_of_projects'] > 0

        assert any(proponent_pronacs['analyzed_projects']
                   ['pronacs_of_this_proponent'])

        assert pronac in (proponent_pronacs['analyzed_projects']
                          ['pronacs_of_this_proponent'])
Пример #5
0
    def test_proponent_with_submitted_project(self):
        pronac = "079172"  # CGCCPF -> '00274080001'
        project = metrics.get_project(pronac)

        # Testing metric
        proponentpronacs = project.finance.proponent_projects

        assert proponentpronacs['submitted_projects']['number_of_projects'] > 0

        assert any(proponentpronacs['submitted_projects']
                   ['pronacs_of_this_proponent'])

        assert pronac in (proponentpronacs['submitted_projects']
                          ['pronacs_of_this_proponent'])
Пример #6
0
    def create_indicator(self, project, is_valid, metrics_list):
        """
        Creates FinancialIndicator object for a project, calculating
        metrics and indicator value
        """
        project = Project.objects.get(pronac=project)
        indicator, _ = (FinancialIndicator.objects.update_or_create(
            project=project))
        indicator.is_valid = is_valid
        if indicator.is_valid:
            project_metrics = metrics_calc.get_project(project.pronac)
            for metric_name in metrics_list:
                x = getattr(project_metrics.finance, metric_name)
                Metric.objects.create_metric(metric_name, x, indicator)
            indicator.fetch_weighted_complexity()

        project.complexity = indicator.value
        project.save()
        return indicator
Пример #7
0
 def test_inlier_pronac(self):
     project = metrics.get_project('160712')
     assert not project.finance.approved_funds['is_outlier']
Пример #8
0
 def test_outlier_pronac(self):
     project = metrics.get_project('1310066')
     assert project.finance.approved_funds['is_outlier']
Пример #9
0
    def test_outlier_pronac(self):
        project = metrics.get_project('153038')

        response = project.finance.new_providers
        assert response['is_outlier']
        assert response['novos_fornecedores']
Пример #10
0
 def test_inlier_pronac(self):
     project = metrics.get_project('130222')
     response = project.finance.new_providers
     assert not (response['is_outlier'])
Пример #11
0
 def test_outlier_pronac(self):
     project = metrics.get_project(1510865)
     response = project.finance.total_receipts
     assert all(key in response for key in EXPECTED_KEYS)
     assert response['is_outlier']
Пример #12
0
    def test_inlier_pronac(self):
        pronac = "153699"
        project = metrics.get_project(pronac)

        response = project.finance.raised_funds
        assert not response['is_outlier']
Пример #13
0
 def test_outlier_pronac(self):
     project = metrics.get_project('160858')
     assert project.finance.item_prices['is_outlier']
Пример #14
0
 def test_inlier_pronac(self):
     project = metrics.get_project(90105)
     response = project.finance.number_of_items
     assert all(key in response for key in EXPECTED_KEYS)
     assert not response['is_outlier']