This pull request focuses on improving the documentation and readability of the Webex meme bot application by adding docstrings and minor formatting adjustments. Here's a breakdown of the changes:
*   **Docstrings:**
    *   Added module-level docstrings to `app/close.py`, `app/img.py`, and `app/main.py` providing a high-level overview of the purpose of each module.
    *   Added docstrings to classes (`ExitCommand`, `MakeMemeCommand`, `MakeMemeCallback`) describing their role.
    *   Added docstrings to methods within those classes (`__init__`, `pre_execute`, `execute`, `post_execute`) explaining their functionality, arguments, and return values where applicable. The `get_templates` and `format_meme_string` functions in `app/img.py` have been documented as well.
*   **Formatting:**
    *   Added a line break before the return type annotation in function definitions (e.g., `def execute(...) -> Response:`).
    *   Added the disable comment `# pylint: disable=line-too-long` to a line in `app/meme.py` to disable pylint for that line.
    *   Added the disable comment `# pylint: disable=unused-argument` to the `pre_execute`, `execute`, and `post_execute` methods to disable pylint checks about unused arguments. This is because these methods are part of an interface and must have the same signature even if some arguments are unused.
*   **Variable Naming:**
    *   Renamed the `vars` dictionary to `env_vars` in `tests/test_config.py` for better clarity.
*   **Test Update:**
    *   Added a docstring to the `test_config` function in `tests/test_config.py` to explain its functionality.
*   **Imports Update:**
    *   Updated imports in `tests/test_config.py` to disable pylint for wrong-import-position errors using `# pylint: disable=wrong-import-position`.
In essence, these changes enhance the maintainability and understandability of the codebase through comprehensive documentation and minor code style improvements.
Reviewed-on: #487
		
	
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/usr/bin/env python3
 | 
						|
 | 
						|
"""Provides test cases for webexmemebot/img.py."""
 | 
						|
 | 
						|
from webex_bot.models.response import Response  # pragma: no cover
 | 
						|
 | 
						|
from app import meme  # pragma: no cover
 | 
						|
 | 
						|
 | 
						|
def test_adaptive_card_create() -> None:
 | 
						|
    """Test to ensure that the adaptive card is created."""
 | 
						|
    command = meme.MakeMemeCommand()
 | 
						|
    result = command.execute(None, None, None)
 | 
						|
    assert isinstance(result, Response)
 | 
						|
 | 
						|
 | 
						|
def test_error_true() -> None:
 | 
						|
    """Test to ensure that execute() exits when error=True."""
 | 
						|
    callback = meme.MakeMemeCallback()
 | 
						|
    callback.error = True
 | 
						|
    result = callback.execute(None, None, None)
 | 
						|
    assert result is None
 | 
						|
 | 
						|
 | 
						|
def test_error_false() -> None:
 | 
						|
    """Test to ensure that execute() completes when error=False."""
 | 
						|
    callback = meme.MakeMemeCallback()
 | 
						|
    callback.meme = "oprah.png"
 | 
						|
    callback.text_top = "TEST"
 | 
						|
    callback.text_bottom = "TEST"
 | 
						|
    result: Response = callback.execute(None, None, {"target": {"globalId": "TEST"}})
 | 
						|
    assert isinstance(result, Response) and result.roomId == "TEST" and result.files[0] == callback.meme_filename
 |