module GdsApi::TestHelpers::Calendars

def stub_calendars_has_bank_holidays_on(dates, in_division: nil)

def stub_calendars_has_bank_holidays_on(dates, in_division: nil)
  events = dates.map.with_index do |date, idx|
    {
      title: "Caturday #{idx}!",
      date: date.to_date.iso8601,
      notes: "Y'know, for cats!",
      bunting: true,
    }
  end
  response =
    if in_division.nil?
      {
        "england-and-wales" => {
          division: "england-and-wales",
          events: events,
        },
        "scotland" => {
          division: "scotland",
          events: events,
        },
        "northern-ireland" => {
          division: "northern-ireland",
          events: events,
        },
      }
    else
      {
        division: in_division,
        events: events,
      }
    end
  stub_request(:get, calendars_endpoint(in_division: in_division))
    .to_return(body: response.to_json, status: 200)
end