diff --git a/db/comments.db b/db/comments.db index 986328e8d39c5d6c219826486584b02fe6c8e2a1..f3b27a4a5a2318caf94fd8f264d5f094ba26908e 100644 Binary files a/db/comments.db and b/db/comments.db differ diff --git a/db/posts.db b/db/posts.db index 6ac96c4c168ec5394dd2238eb687e0b0b553c055..d5b549664ffcb36ddf1df9e82e03e012b5ae9500 100644 Binary files a/db/posts.db and b/db/posts.db differ diff --git a/db/users.db b/db/users.db index e6d76785f577848bdd591f541e525eeffd4a64ff..4c67fac0ac4e1e6eab56ea3723643130af65d8de 100644 Binary files a/db/users.db and b/db/users.db differ diff --git a/tests/functions/__init__.py b/tests/functions/__init__.py index 53b821c5d9ddd0d06899e7122d64f53ceaa3f270..86c64960223204a0ba0a3e8707a89e5bef8bda12 100644 --- a/tests/functions/__init__.py +++ b/tests/functions/__init__.py @@ -6,4 +6,5 @@ from .delete_comment import * from .delete_post import * from .edit_post import * from .login import * -from .register import * \ No newline at end of file +from .register import * +from .logout import * \ No newline at end of file diff --git a/tests/functions/delete_comment.py b/tests/functions/delete_comment.py index 2eb71a2b75d83eeb0a78faea4ff3304600503860..a82a339334320804f9e209879c605952d7ac23a3 100644 --- a/tests/functions/delete_comment.py +++ b/tests/functions/delete_comment.py @@ -3,7 +3,9 @@ from tests.utils import URL def delete_comment(page: Page, post_id: int, comment_id: int) -> Page: page.goto(URL + '/post/' + str(post_id)) - comment_section = page.get_by_test_id(f"comment-{str(comment_id)}") - comment_section.locator("[name=commentDeleteButton]").click() - + try: + comment_section = page.get_by_test_id(f"comment-{str(comment_id)}") + comment_section.locator("[name=commentDeleteButton]").click(timeout=1000) + except: + pass return page \ No newline at end of file diff --git a/tests/functions/logout.py b/tests/functions/logout.py new file mode 100644 index 0000000000000000000000000000000000000000..b20662e98ae50fd0b840d0ab5221ad9a99ce15ae --- /dev/null +++ b/tests/functions/logout.py @@ -0,0 +1,5 @@ +from playwright.sync_api import Page + +def logout(page: Page): + page.get_by_role("link", name="").click() + return page \ No newline at end of file diff --git a/tests/test_comment.py b/tests/test_comment.py index 9c2f2dafc048d1a3fd9b4ec6dc6990e0b5c99dca..82652d190c8adea8ab1da0b0523d474024614a58 100644 --- a/tests/test_comment.py +++ b/tests/test_comment.py @@ -2,17 +2,20 @@ from playwright.sync_api import expect, Page import pytest from tests.utils import URL, UserTest, delete_comment_utils, is_comment_exist -from tests.functions import login, create_comment, new_comment, delete_comment +from tests.functions import login, create_comment, new_comment, delete_comment, logout -@pytest.fixture(autouse=True) +@pytest.fixture() def user (): user = UserTest("User_A") yield user +@pytest.fixture() +def user2 (): + user = UserTest("User_B") + yield user + # Define a function that takes a playwright object as an argument def test_create_comment(page: Page, user: UserTest) -> None: - page.goto(URL) - page = login(page, user) page, comment_id = create_comment(page, 1) @@ -23,12 +26,23 @@ def test_create_comment(page: Page, user: UserTest) -> None: def test_delete_comment(page: Page, user: UserTest) -> None: post_id = 1 - - page.goto(URL) - + page = login(page, user) page, comment_id = create_comment(page, post_id) page = delete_comment(page, post_id, comment_id) - assert is_comment_exist(comment_id) == False \ No newline at end of file + assert is_comment_exist(comment_id) == False + +def test_delete_others_comment(page: Page, user: UserTest, user2: UserTest) -> None: + post_id = 1 + page = login(page, user) + page, comment_id = create_comment(page, post_id) + page = logout(page) + + page = login(page, user2) + page = delete_comment(page, post_id, comment_id) + + assert is_comment_exist(comment_id) == True + + delete_comment_utils(comment_id)