mirror of
				https://github.com/django/django.git
				synced 2025-10-29 08:36:09 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from django import forms
 | |
| from django.core.exceptions import ValidationError
 | |
| from django.test import TestCase
 | |
| 
 | |
| from .models import UUIDPK
 | |
| 
 | |
| 
 | |
| class UUIDPKForm(forms.ModelForm):
 | |
|     class Meta:
 | |
|         model = UUIDPK
 | |
|         fields = "__all__"
 | |
| 
 | |
| 
 | |
| class ModelFormBaseTest(TestCase):
 | |
|     def test_create_save_error(self):
 | |
|         form = UUIDPKForm({})
 | |
|         self.assertFalse(form.is_valid())
 | |
|         msg = "The UUIDPK could not be created because the data didn't validate."
 | |
|         with self.assertRaisesMessage(ValueError, msg):
 | |
|             form.save()
 | |
| 
 | |
|     def test_update_save_error(self):
 | |
|         obj = UUIDPK.objects.create(name="foo")
 | |
|         form = UUIDPKForm({}, instance=obj)
 | |
|         self.assertFalse(form.is_valid())
 | |
|         msg = "The UUIDPK could not be changed because the data didn't validate."
 | |
|         with self.assertRaisesMessage(ValueError, msg):
 | |
|             form.save()
 | |
| 
 | |
|     def test_model_multiple_choice_field_uuid_pk(self):
 | |
|         f = forms.ModelMultipleChoiceField(UUIDPK.objects.all())
 | |
|         with self.assertRaisesMessage(
 | |
|             ValidationError, "“invalid_uuid” is not a valid UUID."
 | |
|         ):
 | |
|             f.clean(["invalid_uuid"])
 |