Example #1
0
    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)
Example #2
0
    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')
Example #3
0
    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')
Example #4
0
    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')
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
    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())
Example #8
0
    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)
Example #9
0
    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)
Example #10
0
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="")
Example #11
0
 def to_minified(self):
     """Returns the user as a MinifiedUser"""
     return MinifiedUser(name=self.name,
                         mail=self.mail,
                         phonenumber=self.phonenumber,
                         uid=self._uid)