# features/greet.feature
Feature: Greet Service
  The greet service should return appropriate greetings

  Scenario: Default greeting
    Given the server is running
    When I request the default greeting
    Then the response should be "{\"message\":\"Hello world!\"}"

  Scenario: Personalized greeting
    Given the server is running
    When I request a greeting for "John"
    Then the response should be "{\"message\":\"Hello John!\"}"

  Scenario: v2 greeting with JSON POST request
    Given the server is running with v2 enabled
    When I send a POST request to v2 greet with name "John"
    Then the response should be "{\"message\":\"Hello my friend John!\"}"

  Scenario: v2 default greeting with empty name
    Given the server is running with v2 enabled
    When I send a POST request to v2 greet with name ""
    Then the response should be "{\"message\":\"Hello my friend!\"}"

  Scenario: v2 greeting with missing name field
    Given the server is running with v2 enabled
    When I send a POST request to v2 greet with invalid JSON "{}"
    Then the response should be "{\"message\":\"Hello my friend!\"}"

  Scenario: v2 greeting with name that is too long
    Given the server is running with v2 enabled
    When I send a POST request to v2 greet with name "ThisNameIsWayTooLongAndShouldFailValidationBecauseItExceedsTheMaximumAllowedLengthOf100Characters!!!!"
    Then the response should contain error "validation_failed"