Uploaded image for project: 'ui-inn-reach'
  1. ui-inn-reach
  2. UIINREACH-12

INN-Reach General Settings: Central Server Connection Configuration Create Screen

    XMLWordPrintable

    Details

    • Template:
      Front-end User Story Template
    • Sprint:
      Volaris Sprint 113, Volaris Sprint 114
    • Story Points:
      8
    • Development Team:
      Volaris

      Description

      Purpose:

      In order to integrate with an INN-Reach central server, FOLIO must store a the configurations necessary to connect to and communicate with the central server. This includes the name of the server, an optional description, the agency codes hosted by the FOLIO server (mapped to FOLIO library records), the FOLIO loan type to associate with items borrowed from other local servers in the consortium, the Central server base URL, the API key and secret for authenticating to the central server, and the API key and secret for the central server to use when communicating with FOLIO.

      User story statement(s):

      As a FOLIO administrator with permission to edit INN-Reach central server configurations, I want create, update, or delete a central server configuration INN-Reach settings, so that my FOLIO tenant can participate in the indicated INN-Reach consortium.

      Scenarios:

      1. Scenario:
        • Given the interface scenarios described in UIINREACH-11
        • When the "New" in the Central Server list pane header is activated
        • Then a new configuration form is presented (full-screen)
      2. Scenario
        • Given the previous scenario
        • When the new form is presented
        • Then it collects the following information:
          • Label/Name (required)
          • Description
          • Local Server Code (required)
            • 5 character lower-case string
          • Local Agencies (min 1 required)
            • list (empty field with "+" button to add another, trash can to delete), 5 character lower-case
            • Multi-select to choose FOLIO Library(ies) (from tenant locations configuration) for each local agency
          • Borrowed Item Loan Type (required)
            • Pulldown menu with Loan Types from Inventory app
          • "Server connection" accordion
            • Central server address (required)
            • Central server key (required)
            • Central server secret (required)
            • Local server key
            • Local server secret
            • "Generate key pair" button
          • Cancel button
          • "Save & close" button
      3. Scenario:
        • Given the the form described
        • When required fields filled and valid
        • Then the "Save & Close" button becomes active
      4. Scenario
        • Given the previous scenario
        • When the user clicks the "Cancel" button or the "X" in the upper-left corner of the screen
        • Then a confirmation modal is presented with "Close without saving" and "Continue editing" buttons
      5. Scenario
        • Given the confirmation modal
        • When the user clicks "Continue editing"
        • Then they are returned to the in-progress form
      6. Scenario
        • Given the confirmation modal
        • When the user clicks "Close without saving"
        • Then the form is dismissed without being save and the user is returned to the list pane described in UIINREACH-11
      7. Scenario
        • Given the completed form from Scenario 3
        • When the user clicks "Save & close" without filling the "Local server key" and "Local server secret" fields
        • Then the provided central server address, key, and secret are validated before the form is saved
      8. Scenario
        • Given the previous scenario
        • When the the information is invalid
        • Then an error modal is presented  indicating the error with "Keep editing" and "Close without saving" buttons
      9. Scenario
        • Given the previous scenario
        • When the user clicks "Keep editing"
        • Then they are returned to the in-progress form
      10. Scenario
        • Given Scenario 8
        • When the user chooses "Close without saving"
        • Then they are returned to the list pane
      11. Scenario
        • Given the scenario 7
        • When the provided central server information is valid
        • Then the form is submitted to the backend API (Create: POST, Update: PUT)
      12. Scenario
        • Given the previous scenario
        • When the server returns a 200 response
        • Then a success toast appears with "Central Server configuration [created/updated] successfully" and the user is returned to the list pane (UIINREACH-11) with the new configuration selected with the detail view (UIINREACH-13) displayed
      13. Scenario
        • Given the Scenario 7
        • When the server returns an error response (400/500 error)
        • Then an error toast is displayed with a description of the error
      14. Scenario
        • Given that the user did generate a key pair for the local server and all required fields are complete
        • When the configuration is successfully saved
        • Then a JSON file containing the generated local server key and secret is downloaded
          • Filename: <central server name>-local-server-keypair.json

        TestRail: Results

          Attachments

          1. 1-settings-INN-Reach.png
            1-settings-INN-Reach.png
            89 kB
          2. 2-new-central-server.png
            2-new-central-server.png
            72 kB
          3. 3-new-central-server-with-values.png
            3-new-central-server-with-values.png
            91 kB
          4. 4-view-success.png
            4-view-success.png
            152 kB
          5. modal-central-server.png
            modal-central-server.png
            113 kB

            Issue Links

              Activity

                People

                Assignee:
                Dmytro_Melnyshyn Dmytro Melnyshyn
                Reporter:
                brookstravis Brooks Travis
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    TestRail: Runs

                      TestRail: Cases