def test_contact_not_from_company(self): """ Test that if the contact specified in data doesn't works at the company specified in data, the validation fails. """ serializer = mock.Mock() company = serializer.instance.company new_contact = mock.Mock() # doesn't work at `company` validator = ContactWorksAtCompanyValidator() validator.set_context(serializer) with pytest.raises(ValidationError): validator({ 'contact': new_contact, 'company': company, })
def test_contact_from_company(self): """ Test that if the contact specified in data works at the company specified in data, the validation passes. """ serializer = mock.Mock() company = serializer.instance.company new_contact = mock.Mock(company=company) validator = ContactWorksAtCompanyValidator() validator.set_context(serializer) try: validator({ 'contact': new_contact, 'company': company, }) except Exception: pytest.fail('Should not raise a validator error.')
def test_with_different_field_names(self): """ Test that the validation passes when using different field names. """ serializer = mock.Mock() company = serializer.instance.company new_main_contact = mock.Mock(company=company) validator = ContactWorksAtCompanyValidator( contact_field='main_contact', company_field='main_company', ) validator.set_context(serializer) try: validator({ 'main_contact': new_main_contact, 'main_company': company, }) except Exception: pytest.fail('Should not raise a validator error.')