Skip to main content

Test Report


Unit Test Output​

Tests covering isolated components: time library, config validation, and command handlers.

tests/test_timeLibrary.py::test_preset_time_library_valid_choices[1-09:30:00 AM] PASSED                                                                                  [ 70%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[2-09:35:00 AM] PASSED [ 72%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[3-09:40:00 AM] PASSED [ 73%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[4-09:45:00 AM] PASSED [ 75%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[5-09:50:00 AM] PASSED [ 76%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[6-09:55:00 AM] PASSED [ 77%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[7-10:00:00 AM] PASSED [ 79%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[8-10:05:00 AM] PASSED [ 80%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[9-10:10:00 AM] PASSED [ 82%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[10-10:15:00 AM] PASSED [ 83%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[11-10:20:00 AM] PASSED [ 85%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[12-10:25:00 AM] PASSED [ 86%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[13-10:30:00 AM] PASSED [ 88%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[14-10:35:00 AM] PASSED [ 89%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[15-10:40:00 AM] PASSED [ 91%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[16-10:45:00 AM] PASSED [ 92%]
tests/test_timeLibrary.py::test_preset_time_library_valid_choices[17-10:50:00 AM] PASSED [ 94%]
tests/test_timeLibrary.py::test_preset_time_library_invalid_choices_return_none[0] PASSED [ 95%]
tests/test_timeLibrary.py::test_preset_time_library_invalid_choices_return_none[18] PASSED [ 97%]
tests/test_timeLibrary.py::test_preset_time_library_invalid_choices_return_none[-1] PASSED [ 98%]
tests/test_timeLibrary.py::test_preset_time_library_invalid_choices_return_none[999] PASSED [100%]
tests/test_config.py::test_required_env_var_is_set[SLACK_BOT_TOKEN] PASSED [ 45%]
tests/test_config.py::test_required_env_var_is_set[SLACK_APP_TOKEN] PASSED [ 47%]
tests/test_config.py::test_required_env_var_is_set[SLACK_SIGNING_SECRET] PASSED [ 48%]
tests/test_config.py::test_required_env_var_is_set[SLACK_CLIENT_ID] PASSED [ 50%]
tests/test_config.py::test_required_env_var_is_set[SLACK_CLIENT_SECRET] PASSED [ 51%]
tests/test_config.py::test_required_env_var_is_set[SLACK_REDIRECT_URI] PASSED [ 52%]
tests/test_config.py::test_required_env_var_is_set[MONGO_URI] PASSED [ 54%]
tests/test_config.py::test_slack_bot_token_format PASSED [ 55%]
tests/test_config.py::test_slack_app_token_format PASSED [ 57%]
tests/test_commands.py::test_forceprompt_acks PASSED [ 7%]
tests/test_commands.py::test_forceprompt_posts_to_command_channel PASSED [ 8%]
tests/test_commands.py::test_forceprompt_posts_to_specified_channel PASSED [ 10%]
tests/test_commands.py::test_setchannel_updates_state PASSED [ 11%]
tests/test_commands.py::test_setchannel_rejects_missing_channel PASSED [ 13%]
tests/test_commands.py::test_picktags_command_opens_static_checkbox_modal PASSED [ 14%]
tests/test_commands.py::test_picktags_submission_saves_selected_tags PASSED [ 16%]
tests/test_commands.py::test_social_connector_finds_pair_from_shared_tags PASSED [ 17%]
tests/test_commands.py::test_social_connector_randomly_selects_from_all_matching_pairs PASSED [ 19%]
tests/test_commands.py::test_social_connector_posts_soft_intro_message PASSED [ 20%]
tests/test_commands.py::test_social_connector_command_posts_in_current_channel PASSED [ 22%]
tests/test_commands.py::test_social_connector_command_responds_when_no_match_found PASSED [ 23%]
tests/test_commands.py::test_promptstats_returns_sorted_summary PASSED [ 25%]
tests/test_commands.py::test_promptstats_handles_empty_data PASSED [ 26%]
tests/test_commands.py::test_picktopic_lists_topics_when_no_arg PASSED [ 27%]
tests/test_commands.py::test_picktopic_sets_pending_topic_when_valid PASSED [ 29%]
tests/test_commands.py::test_picktopic_rejects_unknown_topic PASSED [ 30%]
tests/test_commands.py::test_findtime_returns_target_time_and_mode PASSED [ 32%]
tests/test_commands.py::test_picktime_lists_options_when_empty PASSED [ 33%]
tests/test_commands.py::test_picktime_sets_target_time_for_valid_choice PASSED [ 35%]
tests/test_commands.py::test_picktime_rejects_invalid_input PASSED [ 36%]
tests/test_commands.py::test_vibestatus_random_mode_summary PASSED [ 38%]
tests/test_commands.py::test_vibestatus_static_mode_summary PASSED [ 39%]
tests/test_commands.py::test_help_returns_setup_guide_text PASSED [ 41%]
tests/test_commands.py::test_streak_personal_no_streak PASSED [ 42%]
tests/test_commands.py::test_streak_leaderboard_responds PASSED [ 44%]

============================================================================= 55 passed =============================================================================

Integration Test Output​

Tests covering state management and cross-component behavior.

tests/test_integration.py::test_state_default_channel PASSED                                                                                                             [ 58%]
tests/test_integration.py::test_state_set_and_get_active_channel PASSED [ 60%]
tests/test_integration.py::test_state_set_and_get_mode PASSED [ 61%]
tests/test_integration.py::test_state_set_and_get_static_time PASSED [ 63%]
tests/test_integration.py::test_state_active_days_default_all_days PASSED [ 64%]
tests/test_integration.py::test_state_set_active_days PASSED [ 66%]
tests/test_integration.py::test_state_is_today_active PASSED [ 67%]
tests/test_integration.py::test_state_is_today_inactive_when_days_cleared PASSED [ 69%]

============================================================================= 8 passed =============================================================================

Automated Acceptance Test Output​

Tests verifying end-to-end scheduler and state flow behavior.

tests/test_acceptance.py::test_pick_random_time_from_range PASSED                                                                                                        [  1%]
tests/test_acceptance.py::test_pick_random_time_falls_back_to_preset_when_no_range PASSED [ 2%]
tests/test_acceptance.py::test_pick_random_time_after_filters_past_times PASSED [ 4%]
tests/test_acceptance.py::test_full_flow_state_and_scheduler PASSED [ 5%]

============================================================================= 4 passed =============================================================================

Manual Acceptance Test Procedures​

Each procedure was performed manually and observed results are noted below.

#ProcedurePerformedObserved Result
1Install VibeCheck into a Slack workspace via OAuth flowYesBot successfully installed to Slack server
2Run /setchannel #channel-name and verify the active channel updatesYesBot responds and channel is set
3Run /forceprompt and verify prompt is posted to the command channelYesPrompt posted to correct channel immediately
4Run /forceprompt #other-channel and verify override channel is usedYesPrompt posted to the specified channel
5Run /picktags and verify checkbox modal opens with available tagsYesModal opened with correct checkboxes and pre-selected existing tags
6Submit tag selection and verify DM confirmation is sentYesTags saved; confirmation DM received
7Run /connect and verify a matched user pair is announcedYesPair announced
8Run /connect with no eligible pair and verify no-match responseYesNo-match message returned, no announcement
9Run /findtime and verify target time and mode are reportedYesCorrect time and mode returned
10Run /picktime with no argument and verify preset list is shownYesPreset list displayed with usage instructions
11Run /picktime 3 and verify state updates to selected timeYesState updated; confirmation time returned
12Run /vibestatus and verify channel, mode, time, and active days shownYesAll workspace status fields present in response
13Run /promptstats and verify sorted prompt engagement summaryYesSummary returned with response counts, returns engagement
14Run /picktopic with no argument and verify topic list shownYesTopic list is displayed
15Run /picktopic [topic] and verify pending topic is storedYesTopic is picked
16Run /help and verify setup guide text is returnedYesA list of commands to guide users is returned
17Run /streak and verify personal streak or leaderboard respondsYesStreak summary returned

List of Known Problems​

No test failures were observed. All 68 automated tests passed.

TestStatusDescription
——No known failures at time of this report