fix: resolve CI type annotation issues
This commit is contained in:
35
src/requirements_to_gherkin/models.py
Normal file
35
src/requirements_to_gherkin/models.py
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
from dataclasses import dataclass, field
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Step:
|
||||||
|
type: str
|
||||||
|
description: str
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Scenario:
|
||||||
|
name: str
|
||||||
|
steps: List[Step] = field(default_factory=list)
|
||||||
|
|
||||||
|
def add_step(self, step: Step) -> None:
|
||||||
|
self.steps.append(step)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Feature:
|
||||||
|
name: str
|
||||||
|
elements: List[Scenario] = field(default_factory=list)
|
||||||
|
|
||||||
|
def add_element(self, element: Scenario) -> None:
|
||||||
|
self.elements.append(element)
|
||||||
|
|
||||||
|
def to_gherkin(self) -> str:
|
||||||
|
lines = [f"Feature: {self.name}", ""]
|
||||||
|
for element in self.elements:
|
||||||
|
lines.append(f" Scenario: {element.name}")
|
||||||
|
for step in element.steps:
|
||||||
|
lines.append(f" {step.type} {step.description}")
|
||||||
|
lines.append("")
|
||||||
|
return "\n".join(lines)
|
||||||
Reference in New Issue
Block a user