mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-23 15:56:45 -04:00
Change the updates to only look at today, and not yesterday.
This commit is contained in:
@@ -244,11 +244,9 @@ def fetch_monthly_billing_for_year(service_id, year):
|
|||||||
today = convert_utc_to_bst(datetime.utcnow()).date()
|
today = convert_utc_to_bst(datetime.utcnow()).date()
|
||||||
# if year end date is less than today, we are calculating for data in the past and have no need for deltas.
|
# if year end date is less than today, we are calculating for data in the past and have no need for deltas.
|
||||||
if year_end_date >= today:
|
if year_end_date >= today:
|
||||||
yesterday = today - timedelta(days=1)
|
data = fetch_billing_data_for_day(process_day=today, service_id=service_id, check_permissions=True)
|
||||||
for day in [yesterday, today]:
|
for d in data:
|
||||||
data = fetch_billing_data_for_day(process_day=day, service_id=service_id, check_permissions=True)
|
update_fact_billing(data=d, process_day=today)
|
||||||
for d in data:
|
|
||||||
update_fact_billing(data=d, process_day=day)
|
|
||||||
|
|
||||||
email_and_letters = db.session.query(
|
email_and_letters = db.session.query(
|
||||||
func.date_trunc('month', FactBilling.bst_date).cast(Date).label("month"),
|
func.date_trunc('month', FactBilling.bst_date).cast(Date).label("month"),
|
||||||
@@ -648,12 +646,10 @@ def fetch_usage_year_for_organisation(organisation_id, year):
|
|||||||
services = dao_get_organisation_live_services(organisation_id)
|
services = dao_get_organisation_live_services(organisation_id)
|
||||||
# if year end date is less than today, we are calculating for data in the past and have no need for deltas.
|
# if year end date is less than today, we are calculating for data in the past and have no need for deltas.
|
||||||
if year_end_date >= today:
|
if year_end_date >= today:
|
||||||
yesterday = today - timedelta(days=1)
|
|
||||||
for service in services:
|
for service in services:
|
||||||
for day in [yesterday, today]:
|
data = fetch_billing_data_for_day(process_day=today, service_id=service.id)
|
||||||
data = fetch_billing_data_for_day(process_day=day, service_id=service.id)
|
for d in data:
|
||||||
for d in data:
|
update_fact_billing(data=d, process_day=today)
|
||||||
update_fact_billing(data=d, process_day=day)
|
|
||||||
service_with_usage = {}
|
service_with_usage = {}
|
||||||
# initialise results
|
# initialise results
|
||||||
for service in services:
|
for service in services:
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ def get_organisation_services(organisation_id):
|
|||||||
@organisation_blueprint.route('/<uuid:organisation_id>/services-with-usage', methods=['GET'])
|
@organisation_blueprint.route('/<uuid:organisation_id>/services-with-usage', methods=['GET'])
|
||||||
def get_organisation_services_usage(organisation_id):
|
def get_organisation_services_usage(organisation_id):
|
||||||
try:
|
try:
|
||||||
year = int(request.args.get('year'))
|
year = int(request.args.get('year', 'none'))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
return jsonify(result='error', message='No valid year provided'), 400
|
return jsonify(result='error', message='No valid year provided'), 400
|
||||||
services = fetch_usage_year_for_organisation(organisation_id, year)
|
services = fetch_usage_year_for_organisation(organisation_id, year)
|
||||||
|
|||||||
@@ -631,6 +631,7 @@ def test_fetch_letter_line_items_for_all_service(notify_db_session):
|
|||||||
assert results[4] == (None, None, service_3.name, service_3.id, Decimal("0.55"), 'second', 15)
|
assert results[4] == (None, None, service_3.name, service_3.id, Decimal("0.55"), 'second', 15)
|
||||||
|
|
||||||
|
|
||||||
|
@freeze_time('2019-06-01 13:30')
|
||||||
def test_fetch_usage_year_for_organisation(notify_db_session):
|
def test_fetch_usage_year_for_organisation(notify_db_session):
|
||||||
org, org_2, service, service_2, service_3, service_sms_only, \
|
org, org_2, service, service_2, service_3, service_sms_only, \
|
||||||
org_with_emails, service_with_emails = set_up_usage_data(datetime(2019, 5, 1))
|
org_with_emails, service_with_emails = set_up_usage_data(datetime(2019, 5, 1))
|
||||||
|
|||||||
@@ -908,7 +908,7 @@ def set_up_usage_data(start_date):
|
|||||||
|
|
||||||
service_2 = create_service(service_name='b - emails')
|
service_2 = create_service(service_name='b - emails')
|
||||||
email_template = create_template(service=service_2, template_type='email')
|
email_template = create_template(service=service_2, template_type='email')
|
||||||
org_2 = create_organisation(name='Org for {}'.format(service_2))
|
org_2 = create_organisation(name='Org for {}'.format(service_2.name))
|
||||||
dao_add_service_to_organisation(service=service_2, organisation_id=org_2.id)
|
dao_add_service_to_organisation(service=service_2, organisation_id=org_2.id)
|
||||||
|
|
||||||
service_3 = create_service(service_name='c - letters only')
|
service_3 = create_service(service_name='c - letters only')
|
||||||
|
|||||||
@@ -777,7 +777,16 @@ def test_get_organisation_services_usage_returns_400_if_year_is_invalid(admin_re
|
|||||||
response = admin_request.get(
|
response = admin_request.get(
|
||||||
'organisation.get_organisation_services_usage',
|
'organisation.get_organisation_services_usage',
|
||||||
organisation_id=uuid.uuid4(),
|
organisation_id=uuid.uuid4(),
|
||||||
**{"year": 'year'},
|
**{"year": 'not-a-valid-year'},
|
||||||
|
_expected_status=400
|
||||||
|
)
|
||||||
|
assert response['message'] == 'No valid year provided'
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_organisation_services_usage_returns_400_if_year_is_empty(admin_request):
|
||||||
|
response = admin_request.get(
|
||||||
|
'organisation.get_organisation_services_usage',
|
||||||
|
organisation_id=uuid.uuid4(),
|
||||||
_expected_status=400
|
_expected_status=400
|
||||||
)
|
)
|
||||||
assert response['message'] == 'No valid year provided'
|
assert response['message'] == 'No valid year provided'
|
||||||
|
|||||||
Reference in New Issue
Block a user