mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from django.db.models.functions import Lag, Lead, NthValue, Ntile
 | |
| from django.test import SimpleTestCase
 | |
| 
 | |
| 
 | |
| class ValidationTests(SimpleTestCase):
 | |
|     def test_nth_negative_nth_value(self):
 | |
|         msg = "NthValue requires a positive integer as for nth"
 | |
|         with self.assertRaisesMessage(ValueError, msg):
 | |
|             NthValue(expression="salary", nth=-1)
 | |
| 
 | |
|     def test_nth_null_expression(self):
 | |
|         msg = "NthValue requires a non-null source expression"
 | |
|         with self.assertRaisesMessage(ValueError, msg):
 | |
|             NthValue(expression=None)
 | |
| 
 | |
|     def test_lag_negative_offset(self):
 | |
|         msg = "Lag requires a positive integer for the offset"
 | |
|         with self.assertRaisesMessage(ValueError, msg):
 | |
|             Lag(expression="salary", offset=-1)
 | |
| 
 | |
|     def test_lead_negative_offset(self):
 | |
|         msg = "Lead requires a positive integer for the offset"
 | |
|         with self.assertRaisesMessage(ValueError, msg):
 | |
|             Lead(expression="salary", offset=-1)
 | |
| 
 | |
|     def test_null_source_lead(self):
 | |
|         msg = "Lead requires a non-null source expression"
 | |
|         with self.assertRaisesMessage(ValueError, msg):
 | |
|             Lead(expression=None)
 | |
| 
 | |
|     def test_null_source_lag(self):
 | |
|         msg = "Lag requires a non-null source expression"
 | |
|         with self.assertRaisesMessage(ValueError, msg):
 | |
|             Lag(expression=None)
 | |
| 
 | |
|     def test_negative_num_buckets_ntile(self):
 | |
|         msg = "num_buckets must be greater than 0"
 | |
|         with self.assertRaisesMessage(ValueError, msg):
 | |
|             Ntile(num_buckets=-1)
 |