Merge pull request #721 from izn/add-dunstctl-tests

Create dunstctl tests
This commit is contained in:
tobi-wan-kenobi 2020-10-06 06:37:26 +02:00 committed by GitHub
commit 270b3e13bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 68 additions and 0 deletions

View file

@ -27,6 +27,7 @@ class Module(core.module.Module):
def toggle_status(self, event): def toggle_status(self, event):
self._paused = self.__isPaused() self._paused = self.__isPaused()
if self._paused: if self._paused:
util.cli.execute("dunstctl set-paused false") util.cli.execute("dunstctl set-paused false")
else: else:

View file

@ -0,0 +1,67 @@
import pytest
import util.cli
import core.config
import modules.contrib.dunstctl
def build_module():
return modules.contrib.dunstctl.Module(
config=core.config.Config([]),
theme=None
)
def test_load_module():
__import__("modules.contrib.dunstctl")
def test_dunst_running(mocker):
command = mocker.patch('util.cli.execute', return_value='false')
module = build_module()
module.update()
command.assert_called_with('dunstctl is-paused')
widget = module.widget()
assert module.state(widget) == ['unmuted']
def test_dunst_paused(mocker):
command = mocker.patch('util.cli.execute', return_value='true')
module = build_module()
module.update()
command.assert_called_with('dunstctl is-paused')
widget = module.widget()
assert module.state(widget) == ['muted', 'warning']
def test_toggle_status_pause(mocker):
command = mocker.patch('util.cli.execute')
command.side_effect = ['true', 'true', None]
module = build_module()
module.toggle_status(False)
command.assert_any_call('dunstctl set-paused false')
def test_toggle_status_unpause(mocker):
command = mocker.patch('util.cli.execute')
command.side_effect = ['false', 'false', None]
module = build_module()
module.toggle_status(False)
command.assert_called_with('dunstctl set-paused true')
def test_input_register(mocker):
command = mocker.patch('util.cli.execute')
input_register = mocker.patch('core.input.register')
module = build_module()
input_register.assert_called_with(
module,
button=core.input.LEFT_MOUSE,
cmd=module.toggle_status
)