def archive_service(service_id): """ When a service is archived the service is made inactive, templates are archived and api keys are revoked. There is no coming back from this operation. :param service_id: :return: """ service = dao_fetch_service_by_id(service_id) if service.active: dao_archive_service(service.id) return '', 204
def test_get_organisation_services_usage_sort_active_first( admin_request, notify_db_session): org = create_organisation(name='Organisation without live services') service = create_service(service_name='live service') archived_service = create_service(service_name='archived_service') template = create_template(service=service) dao_add_service_to_organisation(service=service, organisation_id=org.id) dao_add_service_to_organisation(service=archived_service, organisation_id=org.id) create_annual_billing(service_id=service.id, free_sms_fragment_limit=10, financial_year_start=2019) create_ft_billing(bst_date=datetime.utcnow().date(), template=template, billable_unit=19, rate=0.060, notifications_sent=19) response = admin_request.get( 'organisation.get_organisation_services_usage', organisation_id=org.id, **{"year": 2019}) assert len(response) == 1 assert len(response['services']) == 2 first_service = response['services'][0] assert first_service['service_id'] == str(archived_service.id) assert first_service['service_name'] == archived_service.name assert first_service['active'] is True last_service = response['services'][1] assert last_service['service_id'] == str(service.id) assert last_service['service_name'] == service.name assert last_service['active'] is True dao_archive_service(service_id=archived_service.id) response_after_archive = admin_request.get( 'organisation.get_organisation_services_usage', organisation_id=org.id, **{"year": 2019}) first_service = response_after_archive['services'][0] assert first_service['service_id'] == str(service.id) assert first_service['service_name'] == service.name assert first_service['active'] is True last_service = response_after_archive['services'][1] assert last_service['service_id'] == str(archived_service.id) assert last_service['service_name'] == archived_service.name assert last_service['active'] is False