gds-api-adapters 12.2.0 → 12.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/gds_api/content_api.rb +1 -0
- data/lib/gds_api/test_helpers/content_api.rb +17 -2
- data/lib/gds_api/version.rb +1 -1
- data/test/content_api_test.rb +10 -0
- metadata +4 -4
    
        data/lib/gds_api/content_api.rb
    CHANGED
    
    
| @@ -71,6 +71,20 @@ module GdsApi | |
| 71 71 | 
             
                    end
         | 
| 72 72 | 
             
                  end
         | 
| 73 73 |  | 
| 74 | 
            +
                  def content_api_has_draft_and_live_tags(options = {})
         | 
| 75 | 
            +
                    type = options.fetch(:type)
         | 
| 76 | 
            +
                    live_tags = options.fetch(:live).map { |tag| tag_result(tag, type, state: 'live') }
         | 
| 77 | 
            +
                    draft_tags = options.fetch(:draft).map { |tag| tag_result(tag, type, state: 'draft') }
         | 
| 78 | 
            +
             | 
| 79 | 
            +
                    body = plural_response_base.merge("results" => (live_tags + draft_tags))
         | 
| 80 | 
            +
                    url = "#{CONTENT_API_ENDPOINT}/tags.json?type=#{type}&draft=true"
         | 
| 81 | 
            +
                    stub_request(:get, url).to_return(status: 200, body: body.to_json, headers: {})
         | 
| 82 | 
            +
             | 
| 83 | 
            +
                    body = plural_response_base.merge("results" => live_tags)
         | 
| 84 | 
            +
                    url = "#{CONTENT_API_ENDPOINT}/tags.json?type=#{type}"
         | 
| 85 | 
            +
                    stub_request(:get, url).to_return(status: 200, body: body.to_json, headers: {})
         | 
| 86 | 
            +
                  end
         | 
| 87 | 
            +
             | 
| 74 88 | 
             
                  def content_api_has_tags(tag_type, slugs_or_tags)
         | 
| 75 89 | 
             
                    body = plural_response_base.merge(
         | 
| 76 90 | 
             
                      "results" => slugs_or_tags.map { |tag| tag_result(tag, tag_type) }
         | 
| @@ -336,7 +350,7 @@ module GdsApi | |
| 336 350 | 
             
                    end
         | 
| 337 351 | 
             
                  end
         | 
| 338 352 |  | 
| 339 | 
            -
                  def tag_result(slug_or_hash, tag_type = nil)
         | 
| 353 | 
            +
                  def tag_result(slug_or_hash, tag_type = nil, options = {})
         | 
| 340 354 | 
             
                    tag = tag_hash(slug_or_hash, tag_type)
         | 
| 341 355 |  | 
| 342 356 | 
             
                    parent = tag_result(tag[:parent]) if tag[:parent]
         | 
| @@ -356,7 +370,8 @@ module GdsApi | |
| 356 370 | 
             
                      "content_with_tag" => {
         | 
| 357 371 | 
             
                        "id" => "#{CONTENT_API_ENDPOINT}/with_tag.json?tag=#{CGI.escape(tag[:slug])}",
         | 
| 358 372 | 
             
                        "web_url" => "http://www.test.gov.uk/browse/#{tag[:slug]}"
         | 
| 359 | 
            -
                      }
         | 
| 373 | 
            +
                      },
         | 
| 374 | 
            +
                      "state" => options[:state]
         | 
| 360 375 | 
             
                    }
         | 
| 361 376 | 
             
                  end
         | 
| 362 377 |  | 
    
        data/lib/gds_api/version.rb
    CHANGED
    
    
    
        data/test/content_api_test.rb
    CHANGED
    
    | @@ -299,6 +299,16 @@ describe GdsApi::ContentApi do | |
| 299 299 | 
             
                  assert_equal "#{@base_api_url}/tags/authors/justin-thyme.json", first_section.id
         | 
| 300 300 | 
             
                end
         | 
| 301 301 |  | 
| 302 | 
            +
                it "returns draft tags if requested" do
         | 
| 303 | 
            +
                  content_api_has_draft_and_live_tags(type: "specialist", draft: ["draft-tag-1"], live: ["live-tag-1"])
         | 
| 304 | 
            +
             | 
| 305 | 
            +
                  all_tags = @api.tags("specialist", draft: true)
         | 
| 306 | 
            +
                  assert_equal [["draft-tag-1", "draft"], ["live-tag-1", "live"]].to_set, all_tags.map {|t| [t.slug, t.state] }.to_set
         | 
| 307 | 
            +
             | 
| 308 | 
            +
                  live_tags = @api.tags("specialist")
         | 
| 309 | 
            +
                  assert_equal [["live-tag-1", "live"]], live_tags.map {|t| [t.slug, t.state] }
         | 
| 310 | 
            +
                end
         | 
| 311 | 
            +
             | 
| 302 312 | 
             
                it "returns a list of root tags of a given type" do
         | 
| 303 313 | 
             
                  content_api_has_root_tags("author", ["oliver-sudden", "percy-vere"])
         | 
| 304 314 | 
             
                  response = @api.root_tags("author")
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: gds-api-adapters
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 12. | 
| 4 | 
            +
              version: 12.3.0
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2014-07- | 
| 12 | 
            +
            date: 2014-07-23 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: plek
         | 
| @@ -404,7 +404,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 404 404 | 
             
                  version: '0'
         | 
| 405 405 | 
             
                  segments:
         | 
| 406 406 | 
             
                  - 0
         | 
| 407 | 
            -
                  hash:  | 
| 407 | 
            +
                  hash: 2677929826004224176
         | 
| 408 408 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 409 409 | 
             
              none: false
         | 
| 410 410 | 
             
              requirements:
         | 
| @@ -413,7 +413,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 413 413 | 
             
                  version: '0'
         | 
| 414 414 | 
             
                  segments:
         | 
| 415 415 | 
             
                  - 0
         | 
| 416 | 
            -
                  hash:  | 
| 416 | 
            +
                  hash: 2677929826004224176
         | 
| 417 417 | 
             
            requirements: []
         | 
| 418 418 | 
             
            rubyforge_project: 
         | 
| 419 419 | 
             
            rubygems_version: 1.8.23
         |