def test_on_client_changed(self):
        client1 = self.create_client(name=u"Client01")
        address1 = self.create_address(person=client1.person)
        client2 = self.create_client(name=u"Client02")
        addres2 = self.create_address(person=client2.person)
        addres2.street = u"Mainstreet02"
        sale_items = self._create_sale_items()
        editor = CreateDeliveryEditor(self.store, sale_items=sale_items)

        # No client
        self.assertIsNone(editor.client.read())
        no_address = editor.address.get_selected_data()
        self.assertEqual(no_address, None)
        self.check_editor(editor, 'editor-createdelivery-noclient')

        # Select a client
        editor.fields['client'].set_value(client1)
        first_client = editor.client.read()
        self.assertEqual(first_client, client1)
        first_address = editor.address.get_selected_data()
        self.assertEqual(first_address, address1)
        self.check_editor(editor, 'editor-createdelivery-client')

        # Change client
        editor.fields['client'].set_value(client2)
        new_client = editor.client.read()
        self.assertNotEquals(first_client, new_client)
        new_address = editor.address.get_selected_data()
        self.assertNotEquals(first_address, new_address)
        self.check_editor(editor, 'editor-createdelivery-clientchanged')
Beispiel #2
0
    def testCreate(self):
        sale = self.create_sale()
        sale_items = []
        for i in range(5):
            sale_item = self.create_sale_item(sale=sale)
            sale_item.sellable.description = u"Delivery item %s" % (i + 1)
            sale_items.append(sale_item)

        editor = CreateDeliveryEditor(self.store, sale_items=sale_items)
        self.check_editor(editor, 'editor-createdelivery-create')
Beispiel #3
0
    def test_vehicle_plate_validation(self):
        sale_items = self._create_sale_items()
        editor = CreateDeliveryEditor(self.store, items=sale_items)

        # Invalid cases
        # String with less than 6 characters
        editor.vehicle_license_plate.set_text('FOO21')
        self.assertInvalid(editor, ['vehicle_license_plate'])

        # String with more than 7 characters
        editor.vehicle_license_plate.set_text('FOO20000')
        self.assertInvalid(editor, ['vehicle_license_plate'])

        # String starting with number
        editor.vehicle_license_plate.set_text('2FOO20')
        self.assertInvalid(editor, ['vehicle_license_plate'])

        # String ending with a non-number
        editor.vehicle_license_plate.set_text('FOO200r')
        self.assertInvalid(editor, ['vehicle_license_plate'])

        # Valid cases
        # Uppercase
        editor.vehicle_license_plate.set_text('FOO201')
        self.assertValid(editor, ['vehicle_license_plate'])

        # Lowcase
        editor.vehicle_license_plate.set_text('foo201')
        self.assertValid(editor, ['vehicle_license_plate'])

        # Mixed Uppercase anda lowcase
        editor.vehicle_license_plate.set_text('Foo201')
        self.assertValid(editor, ['vehicle_license_plate'])

        # 2 a-zA-Z characters followed by 4 numeric characters
        editor.vehicle_license_plate.set_text('Fo2018')
        self.assertValid(editor, ['vehicle_license_plate'])

        # 4 a-zA-Z characters followed by 3 numeric characters
        editor.vehicle_license_plate.set_text('Fooo201')
        self.assertValid(editor, ['vehicle_license_plate'])

        editor.vehicle_license_plate.set_text('FOO201')
        self.assertValid(editor, ['vehicle_license_plate'])
 def test_create(self):
     sale_items = self._create_sale_items()
     editor = CreateDeliveryEditor(self.store, sale_items=sale_items)
     self.check_editor(editor, 'editor-createdelivery-create')