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)
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
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 } )
def test_conversion_from_invalid_dict_throws_exception( self, donation_dict): with pytest.raises(InvalidDonationException): donation = Donation.from_dict(donation_dict=donation_dict)