Sha256: 82298125a3a00481ccb931520d43aad89043e9f1914895eaf109dbccfa980afb

Contents?: true

Size: 1.76 KB

Versions: 6

Compression:

Stored size: 1.76 KB

Contents

# frozen_string_literal: true

FactoryBot.define do
  factory :page, class: Wayfarer::Page do
    url { "https://example.com" }
    status_code { 200 }
    headers { {} }
    body { "" }

    trait :html do
      headers { { "Content-Type" => "text/html" } }
      body do
        <<~HTML
          <!doctype html>
          <html lang=en>
            <head>
              <meta charset=utf-8>
              <title>Title</title>
            </head>
            <body></body>
          </html>
        HTML
      end
    end

    trait :xml do
      headers { { "Content-Type" => "application/xml" } }
      body do
        <<~XML
          <menu id="file" value="File">
            <popup>
              <menuitem value="New" onclick="CreateNewDoc()" />
              <menuitem value="Open" onclick="OpenDoc()" />
              <menuitem value="Close" onclick="CloseDoc()" />
            </popup>
          </menu>
        XML
      end
    end

    trait :json do
      headers { { "Content-Type" => "application/json" } }
      body do
        <<~JSON
          {
            "menu":{
              "id":"file",
              "value":"File",
              "popup":{
                "menuitem":[
                  {
                    "value":"New",
                    "onclick":"CreateNewDoc()"
                  },
                  {
                    "value":"Open",
                    "onclick":"OpenDoc()"
                  },
                  {
                    "value":"Close",
                    "onclick":"CloseDoc()"
                  }
                ]
              }
            }
          }
        JSON
      end
    end

    initialize_with do
      new(url: url,
          status_code: status_code,
          body: body,
          headers: headers)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
wayfarer-0.4.7 spec/factories/page.rb
wayfarer-0.4.6 spec/factories/page.rb
wayfarer-0.4.5 spec/factories/page.rb
wayfarer-0.4.4 spec/factories/page.rb
wayfarer-0.4.3 spec/factories/page.rb
wayfarer-0.4.2 spec/factories/page.rb