Skip to content

Commit

Permalink
Remove unnecessary test
Browse files Browse the repository at this point in the history
  • Loading branch information
jsa34 committed Dec 1, 2024
1 parent f9728ef commit e181ced
Showing 1 changed file with 25 additions and 91 deletions.
116 changes: 25 additions & 91 deletions tests/feature/test_outline_empty_values.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,77 +4,36 @@

from pytest_bdd.utils import collect_dumped_objects

STEPS = """\
from pytest_bdd import given, when, then, parsers
from pytest_bdd.utils import dump_obj
def test_scenario_with_empty_example_values(pytester):
pytester.makefile(
".feature",
outline=textwrap.dedent(
"""\
Feature: Outline
Scenario Outline: Outlined with empty example values
Given there are <start> cucumbers
When I eat <eat> cucumbers
Then I should have <left> cucumbers
# Using `parsers.re` so that we can match empty values
Examples:
| start | eat | left |
| # | | |
"""
),
)
pytester.makeconftest(
textwrap.dedent(
"""\
from pytest_bdd import given, when, then, parsers
from pytest_bdd.utils import dump_obj
@given(parsers.re("there are (?P<start>.*?) cucumbers"))
def _(start):
dump_obj(start)
# Using `parsers.re` so that we can match empty values
@given(parsers.re("there are (?P<start>.*?) cucumbers"))
def _(start):
dump_obj(start)
@when(parsers.re("I eat (?P<eat>.*?) cucumbers"))
def _(eat):
dump_obj(eat)
@when(parsers.re("I eat (?P<eat>.*?) cucumbers"))
def _(eat):
dump_obj(eat)
@then(parsers.re("I should have (?P<left>.*?) cucumbers"))
def _(left):
dump_obj(left)
"""

@then(parsers.re("I should have (?P<left>.*?) cucumbers"))
def _(left):
dump_obj(left)
"""
)
)

pytester.makepyfile(
textwrap.dedent(
"""\
from pytest_bdd import scenario
@scenario("outline.feature", "Outlined with empty example values")
def test_outline():
pass
"""
)
)
result = pytester.runpytest("-s")
result.assert_outcomes(passed=1)
assert collect_dumped_objects(result) == ["#", "", ""]


def test_scenario_with_empty_example_values_none_transformer(pytester):
"""
Checks that `parsers.re` can transform empty values to None with a converter.
`parsers.parse` and `parsers.cfparse` won't work out of the box this way as they will fail to match the steps.
"""
def test_scenario_with_empty_example_values(pytester):
pytester.makefile(
".feature",
outline=textwrap.dedent(
"""\
Feature: Outline
Scenario Outline: Outlined with empty example values and transformer
Scenario Outline: Outlined with empty example values
Given there are <start> cucumbers
When I eat <eat> cucumbers
Then I should have <left> cucumbers
Expand All @@ -85,46 +44,21 @@ def test_scenario_with_empty_example_values_none_transformer(pytester):
"""
),
)
pytester.makeconftest(
textwrap.dedent(
"""\
from pytest_bdd import given, when, then, parsers
from pytest_bdd.utils import dump_obj
def empty_to_none(value):
return None if value.strip() == "" else value
@given(parsers.re("there are (?P<start>.*?) cucumbers"), converters={"start": empty_to_none})
def _(start):
dump_obj(start)
@when(parsers.re("I eat (?P<eat>.*?) cucumbers"), converters={"eat": empty_to_none})
def _(eat):
dump_obj(eat)
@then(parsers.re("I should have (?P<left>.*?) cucumbers"), converters={"left": empty_to_none})
def _(left):
dump_obj(left)
"""
)
)
pytester.makeconftest(textwrap.dedent(STEPS))

pytester.makepyfile(
textwrap.dedent(
"""\
from pytest_bdd import scenario
from pytest_bdd.utils import dump_obj
from pytest_bdd import scenario
import json
@scenario("outline.feature", "Outlined with empty example values and transformer")
def test_outline():
pass
"""
@scenario("outline.feature", "Outlined with empty example values")
def test_outline():
pass
"""
)
)
result = pytester.runpytest("-s")
result.assert_outcomes(passed=1)
assert collect_dumped_objects(result) == ["#", None, None]
assert collect_dumped_objects(result) == ["#", "", ""]

0 comments on commit e181ced

Please sign in to comment.