コード例 #1
0
    def test_q1_q2_updated_after_q3_snapshot_inserted(self):
        """Test that Q1 and Q2 are updated correctly when Q3 inserted"""
        snapshots_data = time_series_data(
            [self.project_snapshot, self.project_snapshot_2])
        snapshots_data = snapshots_data[u"snapshots"]
        self.assertEqual(len(snapshots_data), 2)

        # Check Q1 values
        self.assertEqual(snapshots_data[0]["total_spent_in_quarter"], 11)
        self.assertEqual(snapshots_data[0]["total_spent_to_date"], 211)

        # Check Q2 values
        self.assertEqual(snapshots_data[1]["total_spent_in_quarter"], 20)
        self.assertEqual(snapshots_data[1]["total_spent_to_date"], 231)

        # Create Q3 snapshot
        q3 = Quarter(number=3)
        irm_snapshot_3 = IRMSnapshot(sphere=self.sphere, quarter=q3)
        self.project_snapshot_3 = InfraProjectSnapshot(
            irm_snapshot=irm_snapshot_3,
            project=self.project,
            actual_expenditure_q1=12,
            actual_expenditure_q2=21,
            actual_expenditure_q3=30,
            expenditure_from_previous_years_total=200,
        )
        # Recreate the chart data
        snapshots_data = time_series_data([
            self.project_snapshot, self.project_snapshot_2,
            self.project_snapshot_3
        ])
        snapshots_data = snapshots_data[u"snapshots"]
        self.assertEqual(len(snapshots_data), 3)

        # Check Q1 values
        self.assertEqual(snapshots_data[0]["total_spent_in_quarter"], 12)
        self.assertEqual(snapshots_data[0]["total_spent_to_date"], 212)

        # Check Q2 values
        self.assertEqual(snapshots_data[1]["total_spent_in_quarter"], 21)
        self.assertEqual(snapshots_data[1]["total_spent_to_date"], 233)