mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-31 10:37:12 -04:00 
			
		
		
		
	Comment up the testing a bit more
This commit is contained in:
		
							parent
							
								
									c4ac35164b
								
							
						
					
					
						commit
						5e7b93d153
					
				| @ -1847,21 +1847,58 @@ class TestDocumentApi(DirectoriesMixin, APITestCase): | |||||||
|         self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) |         self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) | ||||||
| 
 | 
 | ||||||
|     def test_tag_unique_name_and_owner(self): |     def test_tag_unique_name_and_owner(self): | ||||||
|  |         """ | ||||||
|  |         GIVEN: | ||||||
|  |             - Multiple users | ||||||
|  |             - Tags owned by particular users | ||||||
|  |         WHEN: | ||||||
|  |             - API request for creating items which are unique by name and owner | ||||||
|  |         THEN: | ||||||
|  |             - Unique items are created | ||||||
|  |             - Non-unique items are not allowed | ||||||
|  |         """ | ||||||
|         user1 = User.objects.create_user(username="test1") |         user1 = User.objects.create_user(username="test1") | ||||||
|  |         user1.user_permissions.add(*Permission.objects.filter(codename="add_tag")) | ||||||
|  |         user1.save() | ||||||
|  | 
 | ||||||
|         user2 = User.objects.create_user(username="test2") |         user2 = User.objects.create_user(username="test2") | ||||||
|  |         user2.user_permissions.add(*Permission.objects.filter(codename="add_tag")) | ||||||
|  |         user2.save() | ||||||
| 
 | 
 | ||||||
|  |         # User 1 creates tag 1 owned by user 1 by default | ||||||
|  |         # No issue | ||||||
|  |         self.client.force_authenticate(user1) | ||||||
|         response = self.client.post("/api/tags/", {"name": "tag 1"}, format="json") |         response = self.client.post("/api/tags/", {"name": "tag 1"}, format="json") | ||||||
|         self.assertEqual(response.status_code, status.HTTP_201_CREATED) |         self.assertEqual(response.status_code, status.HTTP_201_CREATED) | ||||||
| 
 | 
 | ||||||
|  |         # User 2 creates tag 1 owned by user 2 by default | ||||||
|  |         # No issue | ||||||
|  |         self.client.force_authenticate(user2) | ||||||
|         response = self.client.post("/api/tags/", {"name": "tag 1"}, format="json") |         response = self.client.post("/api/tags/", {"name": "tag 1"}, format="json") | ||||||
|         self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) |         self.assertEqual(response.status_code, status.HTTP_201_CREATED) | ||||||
| 
 | 
 | ||||||
|         self.client.post( |         # User 2 creates tag 2 owned by user 1 | ||||||
|  |         # No issue | ||||||
|  |         self.client.force_authenticate(user2) | ||||||
|  |         response = self.client.post( | ||||||
|             "/api/tags/", |             "/api/tags/", | ||||||
|             {"name": "tag 2", "owner": user1.pk}, |             {"name": "tag 2", "owner": user1.pk}, | ||||||
|             format="json", |             format="json", | ||||||
|         ) |         ) | ||||||
|  |         self.assertEqual(response.status_code, status.HTTP_201_CREATED) | ||||||
| 
 | 
 | ||||||
|  |         # User 1 creates tag 2 owned by user 1 by default | ||||||
|  |         # Not allowed, would create tag2/user1 which already exists | ||||||
|  |         self.client.force_authenticate(user1) | ||||||
|  |         response = self.client.post( | ||||||
|  |             "/api/tags/", | ||||||
|  |             {"name": "tag 2"}, | ||||||
|  |             format="json", | ||||||
|  |         ) | ||||||
|  |         self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) | ||||||
|  | 
 | ||||||
|  |         # User 1 creates tag 2 owned by user 1 | ||||||
|  |         # Not allowed, would create tag2/user1 which already exists | ||||||
|         response = self.client.post( |         response = self.client.post( | ||||||
|             "/api/tags/", |             "/api/tags/", | ||||||
|             {"name": "tag 2", "owner": user1.pk}, |             {"name": "tag 2", "owner": user1.pk}, | ||||||
| @ -1869,27 +1906,33 @@ class TestDocumentApi(DirectoriesMixin, APITestCase): | |||||||
|         ) |         ) | ||||||
|         self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) |         self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) | ||||||
| 
 | 
 | ||||||
|         self.client.post( |  | ||||||
|             "/api/tags/", |  | ||||||
|             {"name": "tag 3", "owner": user1.pk}, |  | ||||||
|             format="json", |  | ||||||
|         ) |  | ||||||
| 
 |  | ||||||
|         response = self.client.post( |  | ||||||
|             "/api/tags/", |  | ||||||
|             {"name": "tag 3", "owner": user2.pk}, |  | ||||||
|             format="json", |  | ||||||
|         ) |  | ||||||
| 
 |  | ||||||
|         self.assertEqual(response.status_code, status.HTTP_201_CREATED) |  | ||||||
| 
 |  | ||||||
|     def test_tag_unique_name_and_owner_enforced_on_update(self): |     def test_tag_unique_name_and_owner_enforced_on_update(self): | ||||||
|  |         """ | ||||||
|  |         GIVEN: | ||||||
|  |             - Multiple users | ||||||
|  |             - Tags owned by particular users | ||||||
|  |         WHEN: | ||||||
|  |             - API request for to update tag in such as way as makes it non-unqiue | ||||||
|  |         THEN: | ||||||
|  |             - Unique items are created | ||||||
|  |             - Non-unique items are not allowed on update | ||||||
|  |         """ | ||||||
|         user1 = User.objects.create_user(username="test1") |         user1 = User.objects.create_user(username="test1") | ||||||
|         user2 = User.objects.create_user(username="test2") |         user1.user_permissions.add(*Permission.objects.filter(codename="change_tag")) | ||||||
|  |         user1.save() | ||||||
| 
 | 
 | ||||||
|  |         user2 = User.objects.create_user(username="test2") | ||||||
|  |         user2.user_permissions.add(*Permission.objects.filter(codename="change_tag")) | ||||||
|  |         user2.save() | ||||||
|  | 
 | ||||||
|  |         # Create name tag 1 owned by user 1 | ||||||
|  |         # Create name tag 1 owned by user 2 | ||||||
|         Tag.objects.create(name="tag 1", owner=user1) |         Tag.objects.create(name="tag 1", owner=user1) | ||||||
|         tag2 = Tag.objects.create(name="tag 1", owner=user2) |         tag2 = Tag.objects.create(name="tag 1", owner=user2) | ||||||
| 
 | 
 | ||||||
|  |         # User 2 attempts to change the owner of tag to user 1 | ||||||
|  |         # Not allowed, would change to tag1/user1 which already exists | ||||||
|  |         self.client.force_authenticate(user2) | ||||||
|         response = self.client.patch( |         response = self.client.patch( | ||||||
|             f"/api/tags/{tag2.id}/", |             f"/api/tags/{tag2.id}/", | ||||||
|             {"owner": user1.pk}, |             {"owner": user1.pk}, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user