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')
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')
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')