@@ -288,7 +288,7 @@ async def test_news_integration(
288288
289289
290290@pytest .mark .asyncio
291- async def test_insert_news_likes_endpoint (
291+ async def test_news_likes_endpoint (
292292 session : AsyncSession ,
293293 async_client : AsyncClient ,
294294 community : Community ,
@@ -312,63 +312,52 @@ async def test_insert_news_likes_endpoint(
312312 assert stored_news is not None
313313 assert stored_news .likes == 0
314314
315- email = "like@test.com"
315+ emails = [ "like@test.com" , "like2@test.com" ]
316316
317+ # Add likes
317318 response = await async_client .post (
318319 f"/api/news/{ stored_news .id } /like" ,
319- json = {"email" : email },
320+ json = {"email" : emails [ 0 ] },
320321 headers = valid_auth_headers ,
321322 )
322323 assert response .status_code == status .HTTP_200_OK
323324 statement = select (News ).where (News .title == news_data ["title" ])
324325 result = await session .exec (statement )
325326 stored_news = result .first ()
326327 assert stored_news .likes == 1
327- assert stored_news .user_email_list == f"['{ encode_email (email )} ']"
328+ assert stored_news .user_email_list == f"['{ encode_email (emails [ 0 ] )} ']"
328329
329-
330- @pytest .mark .asyncio
331- async def test_delete_news_likes_endpoint (
332- session : AsyncSession ,
333- async_client : AsyncClient ,
334- community : Community ,
335- valid_auth_headers : Mapping [str , str ],
336- ):
337- news_data = {
338- "title" : "Test News" ,
339- "content" : "Test news content." ,
340- "category" : "test_category" ,
341- "tags" : "test_tag" ,
342- "source_url" : "https://example.com/test-news" ,
343- "social_media_url" : "https://test.com/test_news" ,
344- }
345330 response = await async_client .post (
346- "/api/news" , json = news_data , headers = valid_auth_headers
331+ f"/api/news/{ stored_news .id } /like" ,
332+ json = {"email" : emails [1 ]},
333+ headers = valid_auth_headers ,
347334 )
348335 assert response .status_code == status .HTTP_200_OK
349336 statement = select (News ).where (News .title == news_data ["title" ])
350337 result = await session .exec (statement )
351338 stored_news = result .first ()
352- assert stored_news is not None
353- assert stored_news .likes == 0
354-
355- email = "like@test.com"
339+ assert stored_news .likes == 2
340+ assert (
341+ stored_news .user_email_list
342+ == f"['{ encode_email (emails [0 ])} ', '{ encode_email (emails [1 ])} ']"
343+ )
356344
357- response = await async_client .post (
345+ # Remove likes
346+ response = await async_client .delete (
358347 f"/api/news/{ stored_news .id } /like" ,
359- json = {"email" : email },
348+ params = {"email" : emails [ 0 ] },
360349 headers = valid_auth_headers ,
361350 )
362351 assert response .status_code == status .HTTP_200_OK
363352 statement = select (News ).where (News .title == news_data ["title" ])
364353 result = await session .exec (statement )
365354 stored_news = result .first ()
366355 assert stored_news .likes == 1
367- assert stored_news .user_email_list == f"['{ encode_email (email )} ']"
356+ assert stored_news .user_email_list == f"['{ encode_email (emails [ 1 ] )} ']"
368357
369358 response = await async_client .delete (
370359 f"/api/news/{ stored_news .id } /like" ,
371- params = {"email" : email },
360+ params = {"email" : emails [ 1 ] },
372361 headers = valid_auth_headers ,
373362 )
374363 assert response .status_code == status .HTTP_200_OK
0 commit comments