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

Filter records list by set filtering conditions on holdings and items level

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Open (View Workflow)
    • Priority: TBD
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
    • Template:
    • Sprint:
      Prokopovych - Sprint 134
    • Development Team:
      Gulfstream

      Description

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

      • ILL policy (holdings field)
      • Location (holdings/item field)
      • Material type (item field)

      When setSpec with such filtering fields is passed as ListIdentifiers or ListRecord parameter, according to set filtering conditions, result records list should include only those instance records, which are linked to

      • holdings record(s) with ILL policy equals filtering value and/or
      • holdings or item record(s) with Location name equals filtering value and/or
      • item record(s) with Material type equals filtering value
        If ILL policy/Location/Material type isn't the only filtering condition in the requested set, it's added as AND (not OR) condition, e.g. all records where Location = <Location condition value> AND Material type (another filtering condition) = <Material type 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:
        • ILL policy
        • Location
        • Material type
      • Support suppressed records processing as configured
      • Support deleted records processing as configured

      Scenarios:

      1. Scenario – one filtering condition
      • Given set with filtering condition “Location = Annex”
      • And its setSpec=Annex
      • When ListIdentifiers or ListRecords request
      • And request parameter set=Annex
      • Then only instances with holdings and/or items located in "Annex" can be included in response
      2. Scenario – two filtering conditions
      • Given set with filtering condition “Location = Annex”
      • And with filtering condition “Material type = book”
      • And its setSpec=Annex:book
      • When ListIdentifiers or ListRecords request
      • And request parameter set=Annex:book
      • Then only instances with items-books located in "Annex" can be included in response
      3. Scenario – sets with discovery suppression collaboration
      • Given record satisfies filtering condition of set “Annex”
      • And record discoverySuppress flag equals true
      • And Suppressed records processing = “Skip suppressed from discovery records”
      • When ListIdentifiers or ListRecords request
      • And request parameter set=”Annex”
      • Then record isn’t included in response
      4. Scenario – sets with deletion support collaboration
      • Given record satisfies filtering condition of set “Annex”
      • And record is deleted
      • And Deleted records support = “Persistent” or “Transient”
      • When ListIdentifiers or ListRecords request
      • And request parameter set=”Annex”
      • Then record header is included in response
      5. Scenario – sets with from/until parameters collaboration
      • Given record satisfies filtering condition of set “Annex”
      • 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=”Annex”
      • 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

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

                  Dates

                  Created:
                  Updated:

                    TestRail: Runs

                      TestRail: Cases