Uploaded image for project: 'mod-oai-pmh'
  1. mod-oai-pmh
  2. MODOAIPMH-152

Filter records list by set filtering conditions on instance level

    XMLWordPrintable

Details

    • Story
    • Status: Open (View Workflow)
    • TBD
    • Resolution: Unresolved
    • None
    • None
    • Prokopovych - Sprint 134
    • Gulfstream

    Description

      Overview:
      Set filtering conditions can include two instance-level fields:

      • resource type
      • format

      When setSpec with such filtering fields is passed as ListIdentifiers or ListRecord parameter, result records list should include only those instance records, where resource type and/or format equals filtering value.
      If resource type/format isn't the only filtering condition in the requested set, it's added as AND (not OR) condition, e.g. all records where resource type = <resource type condition value> AND format (another filtering condition) = <format condition value> fit set.
      Deleted and suppressed rules should still be considered.

      Acceptance criteria:

      • Records can be filtered by specified in requested set filtering conditions:
        • instance resource type value
        • instance format value
        • combination of previous two
      • Support suppressed records processing as configured
      • Support deleted records processing as configured

      Scenarios:

      1. Scenario – one filtering condition
      • Given set with filtering condition “resource type=text”
      • And its setSpec=text
      • When ListIdentifiers or ListRecords request
      • And request parameter set=text
      • Then only instances with field instanceType=text can be included in response
      2. Scenario – two filtering conditions
      • Given set with filtering condition “resource type=text”
      • And with filtering condition “format=computer – online resource”
      • And its setSpec=text:online
      • When ListIdentifiers or ListRecords request
      • And request parameter set=text:online
      • Then only instances with fields instanceType=text and instanceFormat= computer – online resource can be included in response
      3. Scenario – sets with discovery suppression collaboration
      • Given record satisfies filtering condition of set “text”
      • And record discoverySuppress flag equals true
      • And Suppressed records processing = “Skip suppressed from discovery records”
      • When ListIdentifiers or ListRecords request
      • And request parameter set=”text”
      • Then record isn’t included in response
      4. Scenario – sets with deletion support collaboration
      • Given record satisfies filtering condition of set “text”
      • And record is deleted
      • And Deleted records support = “Persistent” or “Transient”
      • When ListIdentifiers or ListRecords request
      • And request parameter set=”text”
      • Then record header is included in response
      5. Scenario – sets with from/until parameters collaboration
      • Given record satisfies filtering condition of set “text”
      • And record wasn’t created/updated/deleted between 2020-01-01 and 2020-01-02 dates
      • When ListIdentifiers or ListRecords request
      • And request parameter set=”text”
      • And request parameter from = 2020-01-01
      • And request parameter until = 2020-01-02
      • Then record isn’t included in response

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                Unassigned Unassigned
                Anastasiia Zakharova Anastasiia Zakharova (Inactive)
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:

                  TestRail: Runs

                    TestRail: Cases