@@ -72,21 +72,22 @@ async def test_insert_news(
7272 await session .commit ()
7373 statement = select (News ).where (News .title == "Test news" )
7474 result = await session .exec (statement )
75- found_news = result .first ()
76- assert found_news is not None
77- assert found_news .title == news_list [0 ].title
78- assert found_news .content == news_list [0 ].content
79- assert found_news .category == news_list [0 ].category
80- assert found_news .user_email == news_list [0 ].user_email
81- assert found_news .source_url == news_list [0 ].source_url
82- assert found_news .tags == news_list [0 ].tags
83- assert found_news .social_media_url == news_list [0 ].social_media_url
84- assert found_news .likes == 0
85- assert found_news .community_id == community .id
86- assert isinstance (found_news .created_at , datetime )
87- assert isinstance (found_news .updated_at , datetime )
88- assert found_news .created_at <= datetime .now ()
89- assert found_news .updated_at >= found_news .created_at
75+ stored_news = result .first ()
76+ assert stored_news is not None
77+ assert stored_news .title == news_list [0 ].title
78+ assert stored_news .content == news_list [0 ].content
79+ assert stored_news .category == news_list [0 ].category
80+ assert stored_news .user_email == news_list [0 ].user_email
81+ assert stored_news .source_url == news_list [0 ].source_url
82+ assert stored_news .tags == news_list [0 ].tags
83+ assert stored_news .social_media_url == news_list [0 ].social_media_url
84+ assert stored_news .likes == 0
85+ assert stored_news .community_id == community .id
86+ assert isinstance (stored_news .created_at , datetime )
87+ assert isinstance (stored_news .updated_at , datetime )
88+ assert stored_news .created_at <= datetime .now ()
89+ assert stored_news .updated_at >= stored_news .created_at
90+ assert stored_news .publish is False
9091
9192
9293@pytest .mark .asyncio
@@ -221,6 +222,7 @@ async def test_get_news_by_id(
221222 statement = select (News ).where (News .title == "Test news" )
222223 result = await session .exec (statement )
223224 stored_news = result .first ()
225+ assert stored_news is not None
224226
225227 response = await async_client .get (
226228 "/api/news" ,
@@ -288,6 +290,51 @@ async def test_news_integration(
288290 assert data ["news_list" ][0 ]["likes" ] == 0
289291
290292
293+ @pytest .mark .asyncio
294+ async def test_put_news_endpoint (
295+ session : AsyncSession ,
296+ async_client : AsyncClient ,
297+ community : Community ,
298+ valid_auth_headers : Mapping [str , str ],
299+ ):
300+ session .add_all (news_list )
301+ await session .commit ()
302+
303+ statement = select (News ).where (News .title == "Test news" )
304+ result = await session .exec (statement )
305+ stored_news = result .first ()
306+ assert stored_news is not None
307+
308+ response = await async_client .put (
309+ "/api/news" ,
310+ params = {
311+ "title" : "updated title" ,
312+ "content" : "updated content" ,
313+ "category" : "updated_category" ,
314+ "user_email" : "updated_email@test.com" ,
315+ "source_url" : "https://updated_url.com" ,
316+ "tags" : "test_tag_updated" ,
317+ "user_email_list" : "updated_email@test.com" ,
318+ "social_media_url" : "https://updated_social_media_url.com" ,
319+ "likes" : 42 ,
320+ },
321+ headers = valid_auth_headers ,
322+ json = {"publish" : True },
323+ )
324+ data = response .json ()
325+ assert response .status_code == status .HTTP_200_OK
326+ assert data ["tittle" ] == "updated title"
327+ assert data ["content" ] == "updated content"
328+ assert data ["category" ] == "updated_category"
329+ assert data ["user_email" ] == "updated_email@test.com"
330+ assert data ["source_url" ] == "https://updated_url.com"
331+ assert data ["tags" ] == "test_tag_updated"
332+ assert data ["user_email_list" ] == "updated_email@test.com"
333+ assert data ["social_media_url" ] == "https://updated_social_media_url.com"
334+ assert data ["likes" ] == 42
335+ assert data ["publish" ] is True
336+
337+
291338@pytest .mark .asyncio
292339async def test_news_likes_endpoint (
293340 session : AsyncSession ,
@@ -325,6 +372,7 @@ async def test_news_likes_endpoint(
325372 statement = select (News ).where (News .title == news_data ["title" ])
326373 result = await session .exec (statement )
327374 stored_news = result .first ()
375+ assert stored_news is not None
328376 assert stored_news .likes == 1
329377 assert stored_news .user_email_list == f"['{ encode_email (emails [0 ])} ']"
330378
@@ -336,6 +384,7 @@ async def test_news_likes_endpoint(
336384 statement = select (News ).where (News .title == news_data ["title" ])
337385 result = await session .exec (statement )
338386 stored_news = result .first ()
387+ assert stored_news is not None
339388 assert stored_news .likes == 2
340389 assert (
341390 stored_news .user_email_list
@@ -351,6 +400,7 @@ async def test_news_likes_endpoint(
351400 statement = select (News ).where (News .title == news_data ["title" ])
352401 result = await session .exec (statement )
353402 stored_news = result .first ()
403+ assert stored_news is not None
354404 assert stored_news .likes == 1
355405 assert stored_news .user_email_list == f"['{ encode_email (emails [1 ])} ']"
356406
@@ -362,5 +412,6 @@ async def test_news_likes_endpoint(
362412 statement = select (News ).where (News .title == news_data ["title" ])
363413 result = await session .exec (statement )
364414 stored_news = result .first ()
415+ assert stored_news is not None
365416 assert stored_news .likes == 0
366417 assert stored_news .user_email_list == "[]"
0 commit comments