mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-10-31 10:13:32 -04:00 
			
		
		
		
	
	
	Files
			
			
				
					
						
					
					42deb5ad10efc03aa7d401e2a9a41e2f72fedd7a
				
			
			
		
	
		
			
	
	
		
			64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
	
	
			64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import json | |||
| 
 | |||
| import pytest | |||
| from fastapi.testclient import TestClient | |||
| from tests.app_routes import AppRoutes | |||
| 
 | |||
| 
 | |||
| @pytest.fixture | |||
| def group_data(): | |||
|     return {"name": "Test Group"} | |||
| 
 | |||
| 
 | |||
| def test_create_group(api_client: TestClient, api_routes: AppRoutes, token): | |||
|     response = api_client.post(api_routes.groups, json={"name": "Test Group"}, headers=token) | |||
| 
 | |||
|     assert response.status_code == 200 | |||
| 
 | |||
|     assert json.loads(response.content) == { | |||
|         "snackbar": {"text": "User Group Created", "type": "success"}, | |||
|         "created": True, | |||
|     } | |||
| 
 | |||
| 
 | |||
| def test_get_self_group(api_client: TestClient, api_routes: AppRoutes, token): | |||
|     response = api_client.get(api_routes.groups, headers=token) | |||
| 
 | |||
|     assert response.status_code == 200 | |||
|     assert len(json.loads(response.text)) >= 2 | |||
| 
 | |||
| 
 | |||
| def test_update_group(api_client: TestClient, api_routes: AppRoutes, token): | |||
|     new_data = { | |||
|         "name": "New Group Name", | |||
|         "id": 2, | |||
|         "categories": [], | |||
|         "webhookUrls": [], | |||
|         "webhookTime": "00:00", | |||
|         "webhookEnable": False, | |||
|         "users": [], | |||
|         "mealplans": [], | |||
|     } | |||
|     # Test Update | |||
|     response = api_client.put(api_routes.groups_id(2), json=new_data, headers=token) | |||
|     assert response.status_code == 200 | |||
|     assert json.loads(response.text) == {"snackbar": {"text": "Group Settings Updated", "type": "success"}} | |||
| 
 | |||
|     # Validate Changes | |||
|     response = api_client.get(api_routes.groups, headers=token) | |||
|     all_groups = json.loads(response.text) | |||
|     id_2 = filter(lambda x: x["id"] == 2, all_groups) | |||
|     assert next(id_2) == new_data | |||
| 
 | |||
| 
 | |||
| def test_block_delete(api_client: TestClient, api_routes: AppRoutes, token): | |||
|     response = api_client.delete(api_routes.groups_id(1), headers=token) | |||
| 
 | |||
|     assert json.loads(response.text) == {"snackbar": {"text": "Cannot delete default group", "type": "error"}} | |||
| 
 | |||
| 
 | |||
| def test_delete_group(api_client: TestClient, api_routes: AppRoutes, token): | |||
|     response = api_client.delete(api_routes.groups_id(2), headers=token) | |||
| 
 | |||
|     assert json.loads(response.text) is None |