mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Template-based tests of combinations of valid elements
This commit is contained in:
		| @@ -91,3 +91,63 @@ class TestAttachment(TestCase): | |||||||
|             "Τιτλε", |             "Τιτλε", | ||||||
|             self.TAGS |             self.TAGS | ||||||
|         ) |         ) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class Permutations(TestCase): | ||||||
|  |     valid_correspondents = ['timmy', 'Dr. McWheelie', | ||||||
|  |                             'Dash Gor-don', 'ο Θερμαστής'] | ||||||
|  |     valid_titles = ['title', 'Title w Spaces', 'Title a-dash', 'Τίτλος', ''] | ||||||
|  |     valid_tags = ['tag', 'tig,tag', '-', '0,1,2', ''] | ||||||
|  |     valid_suffixes = ['pdf', 'png', 'jpg', 'jpeg', 'gif'] | ||||||
|  |  | ||||||
|  |     def _test_guessed_attributes( | ||||||
|  |             self, filename, title, suffix, correspondent=None, tags=None): | ||||||
|  |         file_info = FileInfo.from_path(filename) | ||||||
|  |  | ||||||
|  |         # Required | ||||||
|  |         self.assertEqual(file_info.title, title, filename) | ||||||
|  |         if suffix == 'jpeg': | ||||||
|  |             suffix = 'jpg' | ||||||
|  |         self.assertEqual(file_info.suffix, suffix, filename) | ||||||
|  |         # Optional | ||||||
|  |         if correspondent is None: | ||||||
|  |             self.assertEqual(file_info.correspondent, | ||||||
|  |                              correspondent, filename) | ||||||
|  |         else: | ||||||
|  |             self.assertEqual(file_info.correspondent.name, | ||||||
|  |                              correspondent, filename) | ||||||
|  |         if tags is None: | ||||||
|  |             self.assertEqual(file_info.tags, (), filename) | ||||||
|  |         else: | ||||||
|  |             self.assertEqual([t.slug for t in file_info.tags], | ||||||
|  |                              tags.split(','), | ||||||
|  |                              filename) | ||||||
|  |  | ||||||
|  |     def test_just_title(self): | ||||||
|  |         template = '/path/to/{title}.{suffix}' | ||||||
|  |         for title in self.valid_titles: | ||||||
|  |             for suffix in self.valid_suffixes: | ||||||
|  |                 spec = dict(title=title, suffix=suffix) | ||||||
|  |                 filename = template.format(**spec) | ||||||
|  |                 self._test_guessed_attributes(filename, **spec) | ||||||
|  |  | ||||||
|  |     def test_title_and_correspondent(self): | ||||||
|  |         template = '/path/to/{correspondent} - {title}.{suffix}' | ||||||
|  |         for correspondent in self.valid_correspondents: | ||||||
|  |             for title in self.valid_titles: | ||||||
|  |                 for suffix in self.valid_suffixes: | ||||||
|  |                     spec = dict(correspondent=correspondent, title=title, | ||||||
|  |                                 suffix=suffix) | ||||||
|  |                     filename = template.format(**spec) | ||||||
|  |                     self._test_guessed_attributes(filename, **spec) | ||||||
|  |  | ||||||
|  |     def test_title_and_correspondent_and_tags(self): | ||||||
|  |         template = '/path/to/{correspondent} - {title} - {tags}.{suffix}' | ||||||
|  |         for correspondent in self.valid_correspondents: | ||||||
|  |             for title in self.valid_titles: | ||||||
|  |                 for tags in self.valid_tags: | ||||||
|  |                     for suffix in self.valid_suffixes: | ||||||
|  |                         spec = dict(correspondent=correspondent, title=title, | ||||||
|  |                                     tags=tags, suffix=suffix) | ||||||
|  |                         filename = template.format(**spec) | ||||||
|  |                         self._test_guessed_attributes(filename, **spec) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Tikitu de Jager
					Tikitu de Jager