Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 14 Next »

Document Version 1.0

Status: Test for v0.0.1 in progress

Document Version

Description

Date

0.0

Initial version

04/06

0.1

Updated based Alejandro García Montoro 's review.

New test cases added: 14, 16, 17, 18, 23

04/10

0.2

Updated based on Alejandro’s review + team meeting.

04/14

1.0

Test run and completed

04/30

References

Channel Export User Stories

Summary

v0.0 is the initial version of this document that outlines the test plan for the Channel Export plugin v0.0.1 that is currently in its implementation phase. The tests in this plan are derived from the user stories in Channel Export document. The document will be updated with tests as needed, until the final version is cut for release.

When images exist in parallel to assist with the test case, they are placed right below the corresponding test procedure.

The Test Areas in this document are arranged based on the vertical columns of the user storyboard.

The plugin will be available (see assumption) for Mattermost version starting 5.12 and up. This test plan consists of test cases to be run on Mattermost server version 5.22; however a subset of smoke tests will be executed on server versions 5.12, 5.14, 5.16, 5.18 and 5.20.

Once this document has been reviewed and approved, the test cases will be migrated to the TM4J (Test Management for Jira) for test execution and posterity.

Scope

This document covers test cases for the user stories as outlined for the Channel Export plugin v.0.0.1. This scope will be expanded if needed for the first release version of the plugin.

Glossary

  • Admin - A user with system administrator privileges.

  • Normal user - A user with non-system administrator privileges.

  • Test Server - A list of test server versions used in testing including Mattermost server and Marketplace Server

  • Main menu - Hamburger menu on the LHS.

Assumption

The tests in this test plans are written with the assumption that:

  1. The tests outlined in this document are to be executed against the Channel Export plugin v0.0.1.

  2. The Channel Export plugin, although will be a part of the Enterprise Edition plugin suite that will only available to customers with E10/E20 license, the first version of the plugin will be available on non-EE instances.

  3. The Channel Export plugin can function as a standalone plugin that does not require to talk to any other plugin.

  4. The Channel Export plugin will function in Mattermost version 5.12 and later

  5. The tests will be executed in Mattermost version 5.22.

  6. Testing is primarily done on the webapp, with spot checks on the desktop app, RN mobile app and mobile web browser app.

  7. The tests in this document are executed as a normal user (see glossary above) unless otherwise specified.

  8. The test cases that pass for a normal user will also pass for a system administrator.

Setup

Document Setup

For the practicality of running tests easily, test cases are arranged in sequential order when necessary, following the preceding test case.

Test Setup

The following setup will be necessary in order to begin testing:

  • A Mattermost v5.22 test server.

  • Channel Export Plugin v0.0.1.

Tests

Test Server:

Build Hash:

Test Date:

Test Area - Plugin Setup

Test ID

Test Case

Test Procedure

Result

Notes

1

Admin can install plugin in a non-EE instance

  1. Log in to a non-enterprise Mattermost, as admin

  2. From System Console > PLUGINS > Plugin Management, upload the Channel Export plugin.

  3. Verify that the plugin can be installed.

Pass

2

Admin can install plugin in an E10 instance

  1. Log in to Mattermost that has an E10 license, as admin.

  2. From System Console > PLUGINS > Plugin Management, upload the Channel Export plugin.

  3. Verify that the plugin is successfully installed.

3

Admin can install plugin in an E20 instance

  1. Log in to Mattermost that has an E20 license, as admin

  2. From System Console > PLUGINS > Plugin Management, upload the Channel Export plugin.

  3. Verify that the plugin can be installed.

4

Admin can enable plugin

  1. Once installed in the “Installed Plugins” section, find the Channel Export plugin and click on the “Enable” button.

  2. Verify that the plugin starts normally without errors.

Pass

5

Plugin functionality is available to admin

  1. Switch to a normal channel view.

  2. In the post input box, type /export.

  3. Verify that the /export option is present in the slash command list.

Pass

6

Plugin functionality is available to normal user

  1. Log out and log back in as a normal user.

  2. In the post input box, type /export.

  3. Verify that the /export option is present in the slash command list.

Pass

7

Admin can disable plugin

  1. Log out and log back in as admin.

  2. From System Console > PLUGINS > Plugin Management, find the Channel Export plugin.

  3. Click on the “Disable” button.

  4. Verify that the plugin is disabled.

  5. In the main channel’s post input box, type /export.

  6. Verify that /export option is not present in the slash command list.

Pass

8

Admin can remove plugin

  1. From System Console > PLUGINS > Plugin Management, find the Channel Export plugin.

  2. Click on the “Remove” button.

  3. Verify that the plugin is no longer installed in the instance.

Pass

Install and enable the plugin if needed. For the following tests, log out as system admin and login as normal user. All following tests, until specified will be tested as a normal user.

Test Area - Permissions

Test ID

Test Case

Test Procedure

Result

Notes

9

User can export a public channel

  1. Go to a public channel.

  2. Issue the /export slash command.

  3. Verify that the channel is exported successfully.

(See tests in “Export” test area below to verify successful export.)

Pass

10

User can export a private channel

  1. Go to a private channel.

  2. Issue the /export slash command.

  3. Verify that the channel is exported successfully.

(See tests in “Export” test area below to verify successful export.)

Pass

11

User can export a GM channel

  1. Go to a group message channel.

  2. Issue the /export slash command.

  3. Verify that the channel is exported successfully.

(See tests in “Export” test area below to verify successful export.)

Pass

12

User can export a DM channel

  1. Go to a direct message channel.

  2. Issue the /export slash command.

  3. Verify that the channel is exported successfully.

(See tests in “Export” test area below to verify successful export.)

Pass

13

User can export DM channel with self

  1. Go to the direct message channel to self.

  2. Issue the /export slash command.

  3. Verify that the channel is exported successfully.

(See tests in “Export” test area below to verify successful export.)

Pass

14

User can export a bot message channel

  1. Go to a bot message channel (e.g. surveybot, channelexport etc.)

  2. Issue the /export slash command.

  3. Verify that the channel is exported successfully.

(See tests in “Export” test area below to verify successful export.)

Pass

15

User can export archived channel

  1. From Postman, POST an export request to the following URL:
    http://localhost:8065/api/v4/commands/execute

  2. Form a message payload as follows with channel ID of an archived channel, and appropriate team ID

    1. {"command":"/export ","channel_id":<CHANNEL-ID>,"team_id":<TEAM-ID>}

  3. Verify that the channel can be exported.

Pass

16

User can export an un-archived channel

  1. Go to any channel.

  2. Archive the channel.

    1. From the channel dropdown, click on “Archive Channel”

  3. Ensure that the channel is archived.

  4. As an admin, unarchive the channel.

  5. As normal user, go to the unarchived channel.

  6. Issue the /export command.

  7. Verify that the channel is exported successfully.

(See tests in “Export” test area below to verify successful export.)

Pass

15

User cannot export a channel they are not added to

  1. From Postman, POST an export request to the following URL:
    http://localhost:8065/api/v4/commands/execute

  2. Form a message payload as follows with channel ID of a channel the user is not added to

    1. {"command":"/export ","channel_id":<CHANNEL-ID>,"team_id":<TEAM-ID>}

  3. Verify that the channel cannot be exported.

Pass

17

User cannot export a channel once they are ‘kicked’ from the channel

  1. As a different user, create a new channel.

  2. Add test-user to the channel.

  3. Verify that the test-user sees /exportoption in slash command list.

  4. As the different user, kick the test-user from the channel.

  5. As test-user, verify that the channel in step 1 does not exist in the LHS.

  6. As the different user, add the test-user back to the channel.

  7. Go to the channel.

  8. Issue the /export slash command.

  9. Verify that the channel is exported successfully.

(See tests in “Export” test area below to verify successful export.)

Pass

18

User cannot export a read-only channel

  1. Find or create a read-only channel.

  2. From Postman, POST an export request to the following URL:
    http://localhost:8065/api/v4/commands/execute

  3. Form a message payload as follows with channel ID of the read-only channel:
    {"command":"/export ","channel_id":<CHANNEL-ID>,"team_id":<TEAM-ID>}

  4. Verify that the channel cannot be exported.

Fail

Test Area - Export

Test ID

Test Case

Test Procedure

Result

Notes

19

A system message notifies of successful export command execution on the channel where export is initiated

  1. Issue a /export slash command in a channel.

  2. Verify that as soon as the slash command is issued, a system message notifies the user that the channel export has begun.

Pass

20

A bot message notifies of a successful export

  1. Issue a /export slash command in a channel.

  2. If exported successfully, verify that a Channel Export bot notifies of the successful export in the bot’s DM channel.

Pass

21

The exported file can be downloaded locally

  1. Issue a /export slash command in a channel.

  2. If exported successfully, verify that the exported channel can be downloaded in the bot’s DM channel.

Pass

22

Channel is exported in CSV file format

  1. Issue a /export slash command in a channel.

  2. If exported successfully, verify that the exported file is in CVS format.

Pass

23

Exported CSV filename has [channel-name].csv format

  1. Issue a /export slash command in a channel.

  2. If exported successfully, verify that the exported file has the filename in [channel_name].csv format.

pass

24

A bot message notifies of an unsuccessful export

  1. Issue a /export slash command in a channel such that the export is not successfully.

  2. Verify that the bot notifies for the failed export in the bot’s DM.

25

Exported CSV has messages of a channel in chronological order

  1. Export a channel.

  2. Go to the Channel Export bot’s DM channel.

  3. Download the exported file.

  4. Open up the file.

  5. Verify that the exported messages are in chronological order in each row, with the most recent message on the first row.

Pass

26

Exported CSV has date

  1. Find a channel where messages were sent in different days.

  2. Export the channel.

  3. Download the exported file.

  4. Open the exported file.

  5. Verify that the messages and dates of when the messages were sent are correctly matched in the file.

Pass

27

Exported CSV has timestamp

  1. Post several messages in a channel at varying intervals.

  2. Export the channel.

  3. Download the exported file.

  4. Open the exported file.

  5. Verify that the messages and timestamps of when the messages were sent are correctly matched in the file.

Pass

Times are off.

28

Exported CSV has message senders username

  1. Find a channel where multiple users have sent several messages.

  2. Export the channel.

  3. Download the exported file.

  4. Open the exported file.

  5. Verify that the messages and the senders are correctly matched in the file.

Fail

The “username” column shows users' nickname instead of username. When nickname is left empty, there is no username in the CSV.

29

A channel with no messages can be exported successfully

  1. Create a new channel.

  2. Without sending any message in the channel, export the channel.

  3. Download the exported file.

  4. Verify the content of the exported channel in the file.

Pass

30

A channel with more than 100 messages can be exported successfully

  1. Find a channel with more than 100 messages.

  2. Export the channel.

  3. Download the exported file.

  4. Verify that all messages appear correctly in the file.

Pass

31

A channel with media files can be exported successfully

  1. Find a channel with different media, or send media messages in a channel.

  2. Export the channel.

  3. Download the file.

  4. (How is media exported?) In v0.0.1

    1. Emoji reactions show as :emoji_code:

    2. Media files show as empty messages

From Alejandro: For v.0.0.1, exporting the messages. No reactions, no media, no edit history.

Channel export bot channel does not appear on LHS unless current channel is switched to a different one

  • No labels