Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Document Version 1.0

Status: Test for v0.0.1 in progresscomplete

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

...

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.

Pass

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.

Pass

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 can 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 can be exported.

Fail

Pass

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

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.

Pass

Saw “there was an error…” message once during export failure

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.

PassFail

Times are off, even though there is timestamp and messages appear in chronological order.

https://mattermost.atlassian.net/browse/MM-24713

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.

https://mattermost.atlassian.net/browse/MM-24712

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

Pass

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

https://mattermost.atlassian.net/browse/MM-24715