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