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)