From ea283cbc8ec6d9b18d1f432c2d6da84f49a5f6a6 Mon Sep 17 00:00:00 2001 From: wwakabobik Date: Fri, 30 Aug 2024 13:22:45 +0200 Subject: [PATCH] Added test_engines_plotly_reporter_draw_test_case_by_priority.py.py --- tests/assets/expected_case_by_priority.png | Bin 0 -> 37455 bytes ..._plotly_reporter_draw_test_case_by_area.py | 3 +- ...tly_reporter_draw_test_case_by_priority.py | 69 ++++++++++++++++++ 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 tests/assets/expected_case_by_priority.png create mode 100644 tests/engines/test_engines_plotly_reporter_draw_test_case_by_priority.py diff --git a/tests/assets/expected_case_by_priority.png b/tests/assets/expected_case_by_priority.png new file mode 100644 index 0000000000000000000000000000000000000000..9dadf4e68f89a596b67d82392e9bf54c6c4d2188 GIT binary patch literal 37455 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 VmRtQ>81N_ef9C4vvd$@?2>`qDKT`kz literal 0 HcmV?d00001 diff --git a/tests/engines/test_engines_plotly_reporter_draw_test_case_by_area.py b/tests/engines/test_engines_plotly_reporter_draw_test_case_by_area.py index 511dcb0..ee2224c 100644 --- a/tests/engines/test_engines_plotly_reporter_draw_test_case_by_area.py +++ b/tests/engines/test_engines_plotly_reporter_draw_test_case_by_area.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- -"""Tests for plotly_reporter module, the PlotlyReporter clas, draw_automation_state_report method""" +"""Tests for plotly_reporter module, the PlotlyReporter clas, draw_test_case_by_area method""" + from copy import deepcopy from os import path, remove, getcwd from random import choice diff --git a/tests/engines/test_engines_plotly_reporter_draw_test_case_by_priority.py b/tests/engines/test_engines_plotly_reporter_draw_test_case_by_priority.py new file mode 100644 index 0000000..e96db56 --- /dev/null +++ b/tests/engines/test_engines_plotly_reporter_draw_test_case_by_priority.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- +"""Tests for plotly_reporter module, the PlotlyReporter clas, draw_test_case_by_priority method""" + +from os import path, remove, getcwd +from random import choice, randint + +import pytest +from faker import Faker + + +fake = Faker() + + +def test_draw_test_case_by_priority_no_cases(caplog, random_plotly_reporter): + """ + Init PlotlyReporter and call draw_test_case_by_priority without cases should raise ValueError + + :param caplog: caplog fixture + :param random_plotly_reporter: fixture returns PlotlyReporter + """ + with pytest.raises(ValueError, match="No TestRail values are provided, report aborted!"): + random_plotly_reporter.draw_test_case_by_priority( + filename=fake.file_name(extension=choice(("png", "jpg", "jpeg", "webp"))) + ) + + +def test_draw_test_case_by_priority_no_filename(caplog, random_plotly_reporter): + """ + Init PlotlyReporter and call draw_test_case_by_priority without filename should raise ValueError + + :param caplog: caplog fixture + :param random_plotly_reporter: fixture returns PlotlyReporter + """ + with pytest.raises(ValueError, match="No output filename is provided, report aborted!"): + random_plotly_reporter.draw_test_case_by_priority(values=[fake.pydict()]) + + +def test_draw_test_case_by_priority_creates_file(caplog, random_plotly_reporter): + """ + Init PlotlyReporter and call draw_test_case_by_priority with valid parameters should create file + + :param caplog: caplog fixture + :param random_plotly_reporter: fixture returns PlotlyReporter + """ + filename = fake.file_name(extension=choice(("png", "jpg", "jpeg", "webp"))) + try: + random_plotly_reporter.draw_test_case_by_priority(filename=filename, values=[randint(0, 1024) for _ in range(randint(1, 4))]) + + assert path.exists(filename) + finally: + if path.exists(filename): + remove(filename) + + +def test_draw_test_case_by_priority_creates_correct_image(caplog, compare_image, random_plotly_reporter): + """ + Init PlotlyReporter and call draw_test_case_by_priority with valid parameters should create correct image + + :param caplog: caplog fixture + :param compare_image: fixture, returns function to compare images + :param random_plotly_reporter: fixture returns PlotlyReporter + """ + filename = "actual_test_case_by_priority.png" + try: + random_plotly_reporter.draw_test_case_by_priority(filename=filename, values=[1, 101, 72, 16]) + assert compare_image(actual=filename, expected=f"{getcwd()}/tests/assets/expected_case_by_priority.png") + finally: + if path.exists(filename): + remove(filename)