Uploaded image for project: 'FOLIO'
  1. FOLIO
  2. FOLIO-1293

Replace folio-testing-platform with platform-complete




      Describe the general idea here malc mattj. The requirement is that platform-complete can use platform-core (and potentially other platforms like platform-acquisitions) as a dependency.


      By establishing smaller collections of FOLIO apps, we can version, build, test, and deploy related apps in smaller units, but still include them in larger deployments. Platform-complete is the first larger platform to contain a smaller platform, platform-core. Future platforms will follow the platform- prefix in Github for consistency. These are the first few platforms under consideration:

      Platform-complete replaces folio-testing-platform as a means to version, build, test, and deploy a complete platform of FOLIO apps. This platform depends on other established platforms, specifically platform-core.

      Platform-core contains the core collection of FOLIO apps, also versioned, for building, testing, and deployment. One of platfom-core's key uses is for testing interoperability of core apps during CI process. However, platform-core can be deployed independently, or included in a library's own custom platform definition.

      Platform-acquisitions (TBD) is another proposed collection of related FOLIO apps that can be defined and versioned together for inclusion of larger platform. It will have its own cross-module tests to maintain. Once defined, platform-acquisitions would become a dependency of platform-complete, replacing the corresponding individual apps defined in platform-complete.

      Platform-sample (TBD) is a proposed rename of stripes-sample-platform for consistency. This platform is primarily used for development and contains two modules enabled by default. As a development platform, this one is less likely to be a building block for production platforms.


      Just like an individual UI module, each platform will have a test directory, /test/ui-testing, where cross-module tests for the platform can be defined. Each platform will then depend on ui-testing, directly or via the CLI, for invoking these tests, and optionally, a regression of the UI modules, or child platforms, within.

      Shared between all platforms will be some basic tests, such as logging in. The location of these tests is TBD, but may likely live with the related source code, such as stripes-core for the login page.


      While the stripes.config.js that exists with platforms today is technically a tenant configuration, it does serve as an appropriate config for CI purposes and is a suitable example for those implementing a platform. Platform-complete's stripes.config.js will import the stripes config from its child platforms to avoid duplication of enabled modules.

      Work outline

      Work for this ticket involves getting platform-complete established and running. Work on other platforms, like acquisitions, is separate.

      • Create a new platform-complete repo on github
      • Integrate with platform-core (stripes.config.js and invoking tests)
      • Version/release 1.0 of platform-complete and platform-core
      • Deprecate folio-testing-platform

      Note: There is a dependency on UITEST-22 in that the recently moved tests need to pass before platform-complete can replace folio-testing-platform. However, the scaffolding of platform-complete could happen in parallel.

      TestRail: Results


          Issue Links



                malc John Malconian
                jakub Jakub Skoczen
                0 Vote for this issue
                6 Start watching this issue



                  TestRail: Runs

                    TestRail: Cases