aboutsummaryrefslogtreecommitdiffstats
path: root/tests/helpers.py (unfollow)
Commit message (Collapse)AuthorLines
2020-02-19Sync: add confirmation timeout and max diff to configGravatar MarkKoz-16/+24
2020-02-12Tests: fix unawaited error for MockAPIClientGravatar MarkKoz-6/+5
This error is due to the use of an actual instance of APIClient as the spec for the mock. recreate() is called in __init__ which in turn creates a task for the _create_session coroutine. The approach to the solution is to use the type for the spec rather than and instance, thus avoiding any call of __init__. However, without an instance, instance attributes will not be included in the spec. Therefore, they are defined as class attributes on the actual APIClient class definition and given default values. Alternatively, a subclass of APIClient could have been made in the tests.helpers module to define those class attributes. However, it seems easier to maintain if the attributes are in the original class definition.
2020-02-12Sync tests: use async_test decoratorGravatar MarkKoz-94/+135
2020-02-12Sync tests: test on_member_joinGravatar MarkKoz-0/+52
Should PUT user's data or POST it if the user doesn't exist. ResponseCodeError should be re-raised if status code isn't a 404. A helper method was added to reduce code redundancy between the 2 tests.
2020-02-12Sync tests: add a third role with a lower ID to on_member_update testGravatar MarkKoz-1/+2
This better ensures that roles are being sorted when patching.
2020-02-12Sync tests: fix on_member_remove listener testGravatar MarkKoz-13/+6
The listener was changed earlier to simply set in_guild to False. This commit accounts for that in the test.
2020-02-12Sync tests: assert that listeners are actually added as listenersGravatar MarkKoz-0/+14
2020-02-12Sync tests: test sync commands require the admin permissionGravatar MarkKoz-1/+18
The sync commands should only run if the author has the administrator permission. * Add missing spaces after class docstrings * Add missing docstring to SyncCogCommandTests
2020-02-12Tests: create TestCase subclass with a permissions check assertionGravatar MarkKoz-0/+34
The subclass will contain assertions that are useful for testing Discord commands. The currently included assertion tests that a command will raise a MissingPermissions exception if the author lacks permissions.
2020-02-12Sync: only update in_guild field when a member leavesGravatar MarkKoz-16/+6
The member and user update listeners should already be detecting and updating other fields so by the time a user leaves, the rest of the fields should be up-to-date. * Dedent condition which was indented too far
2020-02-12Sync tests: test sync users commandGravatar MarkKoz-0/+7
sync() should be called on the UserSyncer.
2020-02-12Sync tests: test sync roles commandGravatar MarkKoz-0/+9
sync() should be called on the RoleSyncer.
2020-02-12Sync tests: test Sync cog's on_user_updateGravatar MarkKoz-1/+42
A user should be patched only if the name, discriminator, or avatar changes.
2020-02-12Sync tests: fix ID in endpoint for test_sync_cog_on_member_removeGravatar MarkKoz-1/+1
2020-02-12Sync tests: test Sync cog's on_member_update for other attributesGravatar MarkKoz-0/+21
Members should not be patched if other attributes have changed.
2020-02-12Sync tests: test Sync cog's on_member_update for rolesGravatar MarkKoz-0/+11
Members should be patched if their roles have changed.
2020-02-12Sync tests: test Sync cog's on_member_removeGravatar MarkKoz-0/+17
A PUT request should be sent to set in_guild as False and update other fields.
2020-02-12Sync tests: test Sync cog's on_guild_role_updateGravatar MarkKoz-0/+35
A PUT request should be sent if the colour, name, permissions, or position changes.
2020-02-12Sync tests: remove mock_role fixtureGravatar MarkKoz-19/+4
It is obsolete because MockRole now takes care of creating the Colour and Permissions objects.
2020-02-12Tests: use objects for colour and permissions of MockRoleGravatar MarkKoz-1/+13
Instances of discord.Colour and discord.Permissions will be created by default or when ints are given as values for those attributes.
2020-02-12Sync tests: test Sync cog's on_guild_role_delete listenerGravatar MarkKoz-0/+7
A DELETE request should be sent.
2020-02-12Sync tests: test Sync cog's on_guild_role_create listenerGravatar MarkKoz-0/+29
A POST request should be sent with the new role's data. * Add a fixture to create a MockRole
2020-02-12Sync tests: create a test case for listener testsGravatar MarkKoz-0/+7
2020-02-12Sync tests: create a base TestCase class for Sync cog testsGravatar MarkKoz-2/+6
2020-02-12Sync tests: add helper function for testing patch_userGravatar MarkKoz-8/+15
Reduces redundancy in the tests by taking care of the mocks, calling of the function, and the assertion.
2020-02-12Sync tests: test patch_userGravatar MarkKoz-0/+26
A PATCH request should be sent. The error should only be raised if it is not a 404. * Add a fixture to create ResponseCodeErrors with a specific status
2020-02-12Sync tests: test sync_guildGravatar MarkKoz-0/+24
Roles and users should be synced only if a guild is successfully retrieved.
2020-02-12Sync tests: fix Syncer mocks not having async methodsGravatar MarkKoz-2/+23
While on 3.7, the CustomMockMixin needs to be leveraged so that coroutine members are replace with AsyncMocks instead.
2020-02-12Sync tests: use mock.patch for sync_guildGravatar MarkKoz-2/+4
This prevents persistence of changes to the cog instance; sync_guild would otherwise remain as a mock object for any subsequent tests.
2020-02-12Sync tests: instantiate a Sync cog in setUpGravatar MarkKoz-5/+19
* Move patches to setUp
2020-02-12Sync tests: test Sync cog __init__Gravatar MarkKoz-0/+21
Should instantiate syncers and run a sync for the guild.