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