Пример #1
0
 def get_latest_event_donation(self, event_identifier):
     self.__validate_event_identifier(event_identifier=event_identifier)
     url = self._base_api_url + 'event/{}/donations/largest'.format(
         event_identifier)
     response = UrlCall(url=url, timeout=self._timeout).get()
     decoded_content = response.content.decode('utf-8')
     converted_content = json.loads(decoded_content)
     return Donation.from_dict(converted_content)
Пример #2
0
 def test_conversion_from_valid_dict(self):
     donation = Donation.from_dict(self.test_donation_dict)
     assert test_donation.amount == donation.amount
     assert test_donation.event_identifier == donation.event_identifier
     assert test_donation.timestamp == donation.timestamp
     assert test_donation.internal_reference == donation.internal_reference
     assert test_donation.external_reference == donation.external_reference
     assert test_donation.donor_name == donation.donor_name
     assert test_donation.notes == donation.notes
     assert test_donation.validity == donation.validity
Пример #3
0
def record_donation():
    success = False
    message = 'Donation successfully added'
    received_data = {}
    try:
        received_data = request.form.to_dict()
        new_donation = Donation.from_dict(received_data)
        get_donations_repository().record_donation(new_donation)
        success = True
    except InvalidRepositoryQueryException as e:
        message = 'Donation Repository Error: {}'.format(e)
    except InvalidDonationException as e:
        message = 'Donation was invalid: {}'.format(e)
        print('Error: {} Data: {}'.format(e, received_data))
    except Exception as e:
        message = 'Unknown exception: {}'.format(e)
    return jsonify(
        {
            'received': success,
            'message': message
        }
    )
Пример #4
0
 def test_conversion_from_invalid_dict_throws_exception(
         self, donation_dict):
     with pytest.raises(InvalidDonationException):
         donation = Donation.from_dict(donation_dict=donation_dict)