Skip to content
Mark Prins edited this page Mar 7, 2019 · 2 revisions

Flamingo-MC testplan

''work in progress''

Requirements

  • A PostgreSQL database to use as the Flamingo configuration schema
  • An Oracle database to use as the Flamingo configuration schema
  • A SQL Server 2017 database to use as the Flamingo configuration schema
  • Flamingo-MC installed on a test server
  • A Postgis datasource, it is important that the dataset provides for the possibility to create joins and relates in Flamingo. Make sure that the data has a primary key, ideally data should not be privacy sensitive.
  • A geoserver instance configured to serve WMS/WFS of some map layers from the datasource Postgis datasource. It can be useful to have an SQL dump and a copy of the required SLD and other required workspace documents in eg. a Github repository.

Scope

Below are some constraints for this plan.

  • Only the OpenLayers 2 variant of the components will be tested.
  • Mashups and publishing will not be tested.
  • Primary focus of tests is the viewer side of things, test expectations in the viewer will implicitly test the viewer-admin part as well.
  • Testers are expected to document the setup so it can be reproduced, a schema dump of a specific situation is acceptable.

Reporting issues

Issues should be reported in the Github tracker using the provided template. Note that some requested fields in the template may not be useful as part of your report, eg. a server log may be useless in solving a browser specific issue and detailed browser information is generally only useful if errant behaviour is specific to that browser version or vendor.

Initial tests and checks

These should be done as part of the Flamingo installation and both Oracle and PostgreSQL databases. The goal of these tests is to determine if the installation is error-free and the automatic database initialisation works as expected.

check log files

Check that the viewer.log and viewer-admin.log are error free.

configuration database is functional

Check that the configuration database is functional and contains the proper tables after starting Flamingo.

Can login as admin

Check that you can login using the well-known admin credentials

Can create users/groups

Check that you can create users and groups in the viewer-admin

initial application setup

The below steps should succeed error-free (check log files and browser messages)

  • In the viewer-admin setup the test layers and data sources.
  • Create a one-to-many relation for one of the attribute sources.
  • Create a join for one of the attribute sources.
  • Create an application with some basic components and a map of the test layers.

Tool tests

The following tools are availble, note that some of these are implicitly added to a map.

FullExtent tool

expectations

  • should zoom the map to the full extent
  • should zoom the map to maximum extent if the viewer has one configured

GoogleNavigation tool

expectations

Identify tool

To be tested in conjunction with the FeatureInfo component.

expectations

  • clicking on a feature form a layer that has featureinfo configured should show a popup

Measure tool

expectations

  • should enable measure mode on the map for length
  • should enable measure mode on the map for area

NextExtent tool

Test in conjunction with PreviousExtent tool

expectations

  • should restore the viewport to the previous one after jumping back

Pan tool

expectations

  • should make it possible to move the map around without zooming

PreviousExtent tool

Test in conjunction with NextExtent and Pan tool

expectations

  • should restore the viewport to the previous one after zooming or panning

SuperPan tool

expectations

ZoomIn tool

expectations

  • should zoom in the map with a specified factor

Zoom tool

expectations

  • should zoom in the map using a draw-box

ZoomOut tool

expectations

  • should zoom out the map with a specified factor

Component tests

For each of the listed components:

  • add the component to an application
  • configure the component for one or more layers
  • test if functionality matches expectations in the viewer

Note that some components cannot be used stand-alone and that some components can be used in conjunction with another component. Also keep in mind that some components can be docked as a panel as well as a button.

AttributeList component

The AttributeList component should be tested in conjuntion with the FeatureInfo component.

Uses endpoint/actionbean:

  • LayerListActionBean
  • AttributesActionBean
  • FeatureExtentActionBean
  • DownloadFeaturesActionBean

expectations

  • should open on button-click
  • zoom-to-feature should work
  • 10 attributes should be listed with paging available
  • export to configured format should work
  • for a source with related attribures an expansion button should show and related features should be retrieved after clicking

Bookmark component

Uses endpoint/actionbean:

  • BookmarkActionBean

expectations

  • a created bookmark should restore the viewer to the known state
  • a created bookmark should show in the viewer-admin > Beheer bookmarks" page

Buffer component

The Buffer component should be tested with the DataSelection

Uses endpoint/actionbean:

  • LayerListActionBean
  • BufferActionBean

expectations

  • should draw a buffer of requested colour and dimensions on the map

integration expectations

  • when used with a selection, only the selected features should be buffered

CoordinateLinkWindow component

Uses endpoint/actionbean:

  • none

expectations

  • on clicking the map a window should open with the configured URL

Cyclorama component

Uses endpoint/actionbean:

  • FeatureInfoActionBean
  • CycloramaActionBean

expectations

  • on clicking an appropriate feature on the map should pop up a window with the relevant cyclorama loaded

DataSelection component

TODO

Uses endpoint/actionbean:

expectations

DirectSearch component

TODO This component allows for searching various types of service, each service should be tested (OpenLS, ArcGISRest, Solr, PDOK Adreszoeker, Eenvoudig)

Most of this component overlaps with the Search component; when one is tested thoroughly, th eother may be tested cursorily.

Uses endpoint/actionbean:

  • SearchActionBean

expectations

  • should aloow seaching in the specified resource

Disclaimer component

Uses endpoint/actionbean:

  • none

expectations

  • should show the configured disclaimer in a popover when opening the view
  • should no longer show the configured disclaimer after the user chose this option

Divider component

Uses endpoint/actionbean:

  • none

expectations

  • should add a divider to the "leftmenu" buttons

Drawing component

Uses endpoint/actionbean:

  • DrawingActionBean

expectations

  • opening the controls should enable "red-line" drawing and labeling on the map
  • after drawing it should be possible to save the drawing as a local file
  • it should be possible to load a local drawing file into the map

integration expectations

Snapping component
  • When the snapping is active the drawing cursor should 'jump' to a vertex or line segment of the active snapping layer

Edit component

The Edit component can be used standalone as well as integrated with the

Uses endpoint/actionbean:

  • LayerListActionBean
  • AttributesActionBean
  • EditFeatureActionBean
  • FeatureInfoActionBean (optional)

standalone expectations

  • should have configured options for new/copy/edit/remove feature
  • can add a new feature
  • can copy a feature
  • can edit a feature
  • can delete a feature
  • can choose attribute from provided list
  • can choose attribute from configured DB list

integration expectations

Snapping component
  • When the snapping is active the cursor should 'jump' to a vertex or line segment of the active snapping layer
FeatureInfo component
  • should show a link to edit an identified feature

FeatureInfo component

The featureinfo component can be setup in a standalone way but can also provide for integrations with some other components (AttributeList, , ...).

Uses endpoint/actionbean:

  • AttributesActionBean
  • FeatureInfoActionBean

standalone expectations

  • after clicking the map should show a popup with configured information
  • popup should have a "more" link which succesfully opens a window with configured attributes

integration expectations

AttributeList component
  • should show a link to open the attribute list with correct feature
Edit component
  • should show a link to open an edit form with correct feature
FeatureReport component
  • should show a link to create detail report
  • should provide a PDF after clicking
  • the produced PDF should use the configured template
  • the report should show related feature data

FeatureReport component

Uses endpoint/actionbean:

  • FeatureReportActionBean
  • PrintActionBean
  • PrintGenerator

This component cannot be used standalone, see the tests described at associated FeatureInfo component which is required for this component.

Graph component

TODO Uses endpoint/actionbean:

expectations

Help component

Can be docked into multiple positions of the viewer (left/right bottom/top) margin and map.

Uses endpoint/actionbean:

  • none

expectations

  • should display help document to user

HTML component

Can be docked into multiple positions of the viewer (left/right bottom/top) margin, header, footer and map.

Uses endpoint/actionbean:

  • none

expectations

  • should display document to user

Influence component

TODO This component interacts with filter aware components such as the AttributeList and DataSelection components.

Uses endpoint/actionbean:

  • LayerListActionBean
  • FeatureInfoActionBean
  • SldActionBean

expectations

LayerContext component

TODO

Uses endpoint/actionbean:

LayerSwitch component

Uses endpoint/actionbean:

  • AttributesActionBean

expectations

  • present a dropdown with the base layers of the map so one can be chosen
  • when selecting a layer and the TOC is present, the TOC should update

Legend component

Uses endpoint/actionbean:

  • LayerListActionBean
  • AttributesActionBean ?

expectations

Maptip component

Uses endpoint/actionbean:

  • AttributesActionBean
  • FeatureInfoActionBean

expectations

  • should show a maptip on hovering over a feature of the configured layer

Merge component

The Merge component has two different merge policies: "replace" and "new", the former replaces the A feature with the merge result and deletes B, the latter creates a new feature and deletes both the A and B feature.

Uses endpoint/actionbean:

  • LayerListActionBean
  • FeatureInfoActionBean
  • MergeFeaturesActionBean

expectations

  • should be able to select A and B feature
  • should be able to merge according to configured policy

Overview component

Uses endpoint/actionbean:

  • none

expectations

  • should show an overview as configured

Print component

Uses endpoint/actionbean:

  • PrintActionBean
  • PrintGenerator

expectations

  • should be possible to configure various formats
  • print should be of specified format

RelatedDocuments component

Uses endpoint/actionbean:

expectations

Search component

TODO This component allows for searching various types of service, each service should be tested (OpenLS, ArcGISRest, Solr, PDOK Adreszoeker, Eenvoudig)

Most of this component overlaps with the DirectSearch component; when one is tested thoroughly, th eother may be tested cursorily.

Uses endpoint/actionbean:

  • SearchActionBean

expectations

  • should aloow seaching in the specified resource

SelectionModule component

TODO

Uses endpoint/actionbean:

expectations

SimpleFilter component

A large variance of filter can be configured, the expectentions should added below

Uses endpoint/actionbean:

  • UniqueValuesActionBean
  • SldActionBean

expectations

  • should be possible to execute filter

Snapping component

The snapping component can only be used in conjunction with a drawing component such as the Edit or Drawing components.

Uses endpoint/actionbean:

  • AttributesActionBean

expectations

  • the component should show the configured vector layers
  • vector data should load (both WFS and JDBC sorces)
  • vector data should be drawn in configured colour

integration expectations

See the Edit and Drawing component expectations

SpatialFilter component

Uses endpoint/actionbean:

  • LayerListActionBean
  • SldActionBean
  • BufferActionBean

expectations

  • should allow setting a spatial filter by drawing a geometry
  • should allow setting a spatial filter by selecting a geometry from a source layer

Split component

The Merge component has two different merge policies: "replace" and "add", the former replaces the source feature geometry with the largest split result other parts are added as new feature, the latter deletes the source feature and creates new features.

Uses endpoint/actionbean:

  • LayerListActionBean
  • FeatureInfoActionBean
  • SplitFeatureActionBean

expectations

  • should allow selecting to-split feature
  • should allow drawing split line
  • should allow splitting feature

StreetView component

Uses endpoint/actionbean:

  • none

expectations

  • after clicking the map should open a popup with the available Google streetview image

TOC component

Test in conjunction with Legend component

Uses endpoint/actionbean:

expectations

  • can switch map layer on/off
  • "zoom naar schaal" works
  • shows legend when configured
  • shows metadata window (when configured)

TransparencySlider component

Uses endpoint/actionbean:

  • none

expectations

  • should enable changing the transparency of the configured layer

Zoom component

Uses endpoint/actionbean:

  • none

expectations

  • clicking on + or - button zooms map in/out
Clone this wiki locally