testplan - B3Partners/tailormap-legacy GitHub Wiki
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
- …