def test_name_cannot_be_none(self): null_name = None service = ServiceBuilder(self.organization).with_name(null_name).build() # Note that we're getting an integrity error from the database here, # haven't figured out how to make this fail validation which would be cleaner # and would also allow us invalidate on the empty string. with self.assertRaises(django_utils.IntegrityError): validate_save_and_reload(service)
def test_empty_description_is_saved_as_null(self): empty_description = '' null_description = None location = LocationBuilder( self.organization).with_description(empty_description).build() location_from_db = validate_save_and_reload(location) self.assertEqual(location_from_db.description, null_description)
def test_empty_website_is_saved_as_none(self): empty_website = '' no_website = None organization = OrganizationBuilder().with_website( empty_website).build() organization_from_db = validate_save_and_reload(organization) self.assertEqual(organization_from_db.website, no_website)
def test_description_is_multilingual(self): service = ServiceBuilder(self.organization).build() self.set_description_in_language(service, 'en', 'In English') self.set_description_in_language(service, 'fr', 'En français') service_from_db = validate_save_and_reload(service) self.assert_description_in_language_equals(service_from_db, 'en', 'In English') self.assert_description_in_language_equals(service_from_db, 'fr', 'En français')
def test_description_is_multilingual(self): organization = OrganizationBuilder().build() set_description_in_language(organization, 'en', 'In English') set_description_in_language(organization, 'fr', 'En français') organization_from_db = validate_save_and_reload(organization) self.assert_description_in_language_equals(organization_from_db, 'en', 'In English') self.assert_description_in_language_equals(organization_from_db, 'fr', 'En français')
def test_can_create_row(self): first_id = a_string() second_id = a_string() score = a_float() create_tasks([first_id, second_id]) score_record = TaskSimilarityScore(first_task_id=first_id, second_task_id=second_id, similarity_score=score) score_record_from_db = validate_save_and_reload(score_record) self.assertEqual(score_record_from_db.first_task_id, first_id) self.assertEqual(score_record_from_db.second_task_id, second_id) self.assertAlmostEqual(score_record_from_db.similarity_score, score)
def test_can_create_row(self): organization = OrganizationBuilder().create() service = ServiceBuilder(organization).create() task_id = a_string() score = a_float() create_tasks([task_id]) score_record = TaskServiceSimilarityScore(task_id=task_id, service=service, similarity_score=score) score_record_from_db = validate_save_and_reload(score_record) self.assertEqual(score_record_from_db.task_id, task_id) self.assertEqual(score_record_from_db.service_id, service.id) self.assertAlmostEqual(score_record_from_db.similarity_score, score)
def test_has_locations_attribute(self): service = ServiceBuilder(self.organization).build() validate_save_and_reload(service) location = LocationBuilder(self.organization).build() validate_save_and_reload(location) service_at_location = ServiceAtLocation(service=service, location=location) validate_save_and_reload(service_at_location) self.assertEqual(service.locations.first(), location)
def test_website_can_be_none(self): no_website = None organization = OrganizationBuilder().with_website(no_website).build() organization_from_db = validate_save_and_reload(organization) self.assertEqual(organization_from_db.website, no_website)
def test_has_website_field(self): website = 'http://www.example.org' organization = OrganizationBuilder().with_website(website).build() organization_from_db = validate_save_and_reload(organization) self.assertEqual(organization_from_db.website, website)
def test_has_id_field(self): organization_id = 'the_id' organization = OrganizationBuilder().with_id(organization_id).build() organization_from_db = validate_save_and_reload(organization) self.assertEqual(organization_from_db.id, organization_id)
def test_locations_is_empty_if_no_service_location_exists(self): service = ServiceBuilder(self.organization).build() service_from_db = validate_save_and_reload(service) self.assertEqual(service_from_db.locations.count(), 0)
def test_description_can_be_blank(self): description = '' organization = OrganizationBuilder().with_description( description).build() organization_from_db = validate_save_and_reload(organization) self.assertEqual(organization_from_db.description, description)
def test_has_description_field(self): description = 'The description' organization = OrganizationBuilder().with_description( description).build() organization_from_db = validate_save_and_reload(organization) self.assertEqual(organization_from_db.description, description)
def test_description_can_be_none(self): null_description = None location = LocationBuilder( self.organization).with_description(null_description).build() location_from_db = validate_save_and_reload(location) self.assertEqual(location_from_db.description, null_description)
def test_has_id_field(self): service_id = 'the_id' service = ServiceBuilder(self.organization).with_id(service_id).build() service_from_db = validate_save_and_reload(service) self.assertEqual(service_from_db.id, service_id)
def test_has_state_province_field(self): address = AddressBuilder().build() address_from_db = validate_save_and_reload(address) self.assertEqual(address_from_db.state_province, address.state_province)
def test_country_fields_cannot_exceed_two_characters(self): three_character_string = a_string(3) address = AddressBuilder().with_country(three_character_string).build() with self.assertRaises(exceptions.ValidationError): validate_save_and_reload(address)
def test_has_location_field(self): service_at_location = ServiceAtLocation(service=self.service, location=self.location) service_location_from_db = validate_save_and_reload( service_at_location) self.assertEqual(service_location_from_db.location, self.location)
def test_has_name(self): name = 'The service name' service = ServiceBuilder(self.organization).with_name(name).build() service_from_db = validate_save_and_reload(service) self.assertEqual(service_from_db.name, name)
def test_description_can_be_none(self): null_description = None service = ServiceBuilder(self.organization).with_description(null_description).build() service_from_db = validate_save_and_reload(service) self.assertEqual(service_from_db.description, null_description)
def test_can_set_description(self): description = 'The service description' service = ServiceBuilder(self.organization).with_description(description).build() service_from_db = validate_save_and_reload(service) self.assertEqual(service_from_db.description, description)
def test_has_country_field(self): address = AddressBuilder().build() address_from_db = validate_save_and_reload(address) self.assertEqual(address_from_db.country, address.country)
def test_has_email_field(self): email = '*****@*****.**' organization = OrganizationBuilder().with_email(email).build() organization_from_db = validate_save_and_reload(organization) self.assertEqual(organization_from_db.email, email)
def test_has_attention_field(self): address = AddressBuilder().build() address_from_db = validate_save_and_reload(address) self.assertEqual(address_from_db.attention, address.attention)
def test_email_can_be_empty(self): no_email = None organization = OrganizationBuilder().with_email(no_email).build() organization_from_db = validate_save_and_reload(organization) self.assertEqual(organization_from_db.email, no_email)
def test_has_postal_code_field(self): address = AddressBuilder().build() address_from_db = validate_save_and_reload(address) self.assertEqual(address_from_db.postal_code, address.postal_code)
def test_empty_email_is_saved_as_none(self): empty_email = '' no_email = None organization = OrganizationBuilder().with_email(empty_email).build() organization_from_db = validate_save_and_reload(organization) self.assertEqual(organization_from_db.email, no_email)
def test_has_name_field(self): name = 'The name' organization = OrganizationBuilder().with_name(name).build() organization_from_db = validate_save_and_reload(organization) self.assertEqual(organization_from_db.name, name)
def test_can_set_description(self): description = 'The location description' location = LocationBuilder( self.organization).with_description(description).build() location_from_db = validate_save_and_reload(location) self.assertEqual(location_from_db.description, description)