add unit test for positions and replace provideUtility() with getGlobalSiteManager().registerUtility() in unit tests
parent
5bae89a9fd
commit
36def99b28
@ -0,0 +1,55 @@ |
||||
from click.testing import CliRunner |
||||
from ceo.cli import cli |
||||
|
||||
def test_positions(cli_setup): |
||||
runner = CliRunner() |
||||
|
||||
# Setup test data |
||||
for i in range(5): |
||||
runner.invoke(cli, ['members', 'add', f'test_{i}', '--cn', f'Test {i}', '--program', 'Math', '--terms', '1' ], input='y\n') |
||||
runner.invoke(cli, ['groups', 'add', 'exec', '--description', 'Test Group'], input='y\n') |
||||
|
||||
result = runner.invoke(cli, ['positions', 'set', |
||||
'--president', 'test_0', |
||||
'--vice-president', 'test_1', |
||||
'--sysadmin', 'test_2', |
||||
'--secretary', 'test_3', |
||||
'--webmaster', 'test_4', |
||||
], input='y\n') |
||||
|
||||
assert result.exit_code == 0 |
||||
assert result.output == \ |
||||
''' |
||||
The positions will be updated: |
||||
president: test_0 |
||||
vice_president: test_1 |
||||
sysadmin: test_2 |
||||
secretary: test_3 |
||||
webmaster: test_4 |
||||
treasurer: |
||||
cro: |
||||
librarian: |
||||
imapd: |
||||
offsck: |
||||
Do you want to continue? [y/N]: y |
||||
Update positions in LDAP... Done |
||||
Update executive group in LDAP... Done |
||||
Subscribe to mailing lists... Done |
||||
Transaction successfully completed. |
||||
'''[1:] |
||||
|
||||
result = runner.invoke(cli, ['positions', 'get']) |
||||
assert result.exit_code == 0 |
||||
assert result.output == \ |
||||
''' |
||||
president: test_0 |
||||
secretary: test_3 |
||||
sysadmin: test_2 |
||||
vice-president: test_1 |
||||
webmaster: test_4 |
||||
'''[1:] |
||||
|
||||
# Cleanup test data |
||||
for i in range(5): |
||||
runner.invoke(cli, ['members', 'delete', f'test_{i}'], input='y\n') |
||||
runner.invoke(cli, ['groups', 'delete', 'exec'], input='y\n') |
Loading…
Reference in new issue