# Common Steps

Steps reutilizables para múltiples features.

## Navigation

```python
@given('el usuario está en la página principal')
def step_at_home_page(context):
    context.current_page = "home"

@when('el usuario hace clic en el elemento de menú "{menu_item}"')
def step_click_menu(context, menu_item):
    context.menu_clicked = menu_item
```

## Error Handling

```python
@given('la conexión a internet está disponible')
def step_internet_available(context):
    context.internet_available = True

@given('el servidor no responde')
def step_server_down(context):
    context.server_responding = False

@then('el sistema muestra toast "{message}"')
def step_show_toast(context, message):
    context.toast_message = message
```

## User Session

```python
@given('el usuario tiene sesión activa')
def step_user_logged_in(context):
    context.user_logged_in = True
    context.token = "valid_token"

@then('el sistema muestra indicador de carga')
def step_show_loading(context):
    context.showing_loading = True

@then('después de timeout muestra error "{message}"')
def step_timeout_error(context, message):
    assert context.timeout_error == message
```