mirror of
				https://github.com/django/django.git
				synced 2025-11-04 13:39:16 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			33 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'])
 |