def __init__(self, uid: str, item: str, description: str, origin: dict, destination: dict, reward: int, weight: int, fragile: bool, status: Status, money_lock: int, owner: dict, assistant: dict, image_path: str, **kwargs): """Initializes the delivery list""" self.uid: str = uid self.item: str = item self.description: str = description self.origin: Location = Location(**origin) self.destination: Location = Location(**destination) self.reward: int = reward self.weight: int = weight self.fragile: bool = fragile self.status: Status = status self.money_lock: int = money_lock self.owner: MinifiedUser = MinifiedUser(**owner) if assistant: self.assistant: MinifiedUser = MinifiedUser(**assistant) self.image_path: str = image_path self.weight_text = self._weight_props[weight].text self.weight_icon = self._weight_props[weight].icon self.status_text = self._to_text(status)
def test_update_name(self): mini_user = MinifiedUser(name='Miniuser', mail='*****@*****.**', phonenumber='0123456789', uid='asdf1234') self.assertEqual(mini_user.name, 'Miniuser') mini_user.update(name='new name') self.assertEqual(mini_user.name, 'new name')
def test_update_uid(self): mini_user = MinifiedUser(name='Miniuser', mail='*****@*****.**', phonenumber='0123456789', uid='asdf1234') self.assertEqual(mini_user.uid, 'asdf1234') mini_user.update(uid='qwer5678') self.assertEqual(mini_user.uid, 'qwer5678')
def test_update_phonenumber(self): mini_user = MinifiedUser(name='Miniuser', mail='*****@*****.**', phonenumber='0123456789', uid='asdf1234') self.assertEqual(mini_user.phonenumber, '0123456789') mini_user.update(phonenumber='0102030405') self.assertEqual(mini_user.phonenumber, '0102030405')
def test_not_equal(self): mini_user = MinifiedUser(name='Miniuser', mail='*****@*****.**', phonenumber='0123456789', uid='asdf1234') mini_user2 = MinifiedUser(name='Miniuser2', mail='*****@*****.**', phonenumber='9876543210', uid='4321asdf') self.assertNotEqual(mini_user, mini_user2)
def test_to_dict(self): mini_user = MinifiedUser(name='Miniuser', mail='*****@*****.**', phonenumber='0123456789', uid='asdf1234') expected = { 'name': 'Miniuser', 'mail': '*****@*****.**', 'phonenumber': '0123456789', 'uid': 'asdf1234' } self.assertDictEqual(mini_user.to_dict(), expected)
def test_get_by_id(self): delivery_request = DeliveryRequestGetter.get_by_id( u'DLpVc0QmbOHzfDo24Hpp') expected = DeliveryRequest( uid='DLpVc0QmbOHzfDo24Hpp', item='Xbox controller', description='I AM USED FOR TESTS. DO NOT REMOVE', origin=Location(name="Odenvägen 1, SE-194 63 Odenslunda, Sweden", latitude=59.51224, longitude=17.93536).to_dict(), destination=Location(name="Rolsmo 1, SE-360 24 Linneryd, Sweden", latitude=56.64989, longitude=15.16624).to_dict(), reward=123, weight=0, fragile=False, status=Status.AVAILABLE, money_lock=23, owner=MinifiedUser( mail="*****@*****.**", name= 'Travis CI Account - DON\'T DELETE OR YOULL BREAK THE ENTIRE CI WORKFLOW/UNITTESTS REEEEEEEEEEEEEEEEEEEEEEEEE', phonenumber='0', uid="xUQeyplJshTzco4vyHHVoytT3FD2").to_dict(), assistant=dict(), image_path='') self.assertDictEqual.__self__.maxDiff = None self.assertDictEqual(delivery_request.to_dict(), expected.to_dict())
def test_locking_money(self): user = UserGetter.get_by_id('xUQeyplJshTzco4vyHHVoytT3FD2') request = DeliveryRequest( "id", "item", "description\ntext", origin=Location(name="Odenvägen 1, SE-194 63 Odenslunda, Sweden", latitude=59.51224, longitude=17.93536).to_dict(), destination=Location(name="Rolsmo 1, SE-360 24 Linneryd, Sweden", latitude=56.64989, longitude=15.16624).to_dict(), reward=100, weight=2, fragile=True, status=Status.AVAILABLE, money_lock=0, owner=user.to_minified().to_dict(), assistant=MinifiedUser("", "", "", "").to_dict(), image_path="") # ensure enough capital user.deposit(100) user_balance = user.balance self.assertEqual(user.balance, user_balance) user.lock_delivery_amount(request) self.assertEqual(user.balance, user_balance - 100)
def test_string(self): mini_user = MinifiedUser(name='Miniuser', mail='*****@*****.**', phonenumber='0123456789', uid='asdf1234') expected = 'User: Miniuser, [email protected], 0123456789' self.assertEqual(str(mini_user), expected)
def create_delivery_request(): origin = Location(name="Odenvägen 1, SE-194 63 Odenslunda, Sweden", latitude=59.51224, longitude=17.93536).to_dict() destination = Location(name="Rolsmo 1, SE-360 24 Linneryd, Sweden", latitude=56.64989, longitude=15.16624).to_dict() return DeliveryRequest( "TEST", "item", "This a test, feel free to remove.", origin, destination, reward=10, weight=2, fragile=True, status=Status.AVAILABLE, money_lock=0, owner=MinifiedUser("", "", "", "xUQeyplJshTzco4vyHHVoytT3FD2").to_dict(), assistant=MinifiedUser("", "", "", "").to_dict(), image_path="")
def to_minified(self): """Returns the user as a MinifiedUser""" return MinifiedUser(name=self.name, mail=self.mail, phonenumber=self.phonenumber, uid=self._uid)