| Commit message (Collapse) | Author | Age | Lines |
|\ |
|
| |\ |
|
| | | |
|
| | | |
|
| | | |
|
| |\| |
|
| | |
| | |
| | |
| | |
| | | |
This will prevent child classes to be instantiated unless they implement
all abstract methods, leading to a more descriptive error message.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This will serve as an ABC for tests for individual rules.
The base class provides runners for allowed and disallowed
cases, and the children classes then only provide the cases
and implementations of helper methods specific to each rule.
|
| | | |
|
| | |
| | |
| | |
| | | |
The name msg is less descriptive and creates a needless name conflict in local gen exp.
|
| | |
| | |
| | |
| | |
| | |
| | | |
The rule was incorrectly printing out the maximum amount of allowed attachments
instead of the configured interval. This commit also adjusts the rule's unit
test case.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
(hopefully).
|
| |/
|/| |
|
| |
| |
| | |
Move the link to Ned Batchelder’s talk and link the note to the section
|
|/ |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Similar to `format_infraction_with_duration` ( if not outright copying it ), added 3 tests for `until_expiration`:
- None `expiry`.
- Custom `max_units`.
- Normal use cases.
|
| |\ |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
context manager.
|
| | |
| | |
| | |
| | | |
test case tests.
|
| | |
| | |
| | |
| | | |
`test_parse_rfc1123`, fixed typo.
|
| | |
| | |
| | |
| | | |
independent tests.
|
| | | |
|
| | | |
|
| | | |
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
https://github.com/python-discord/bot/pull/621
I've changed to unit tests according to the comments made on the
issue. Most changes are straightforward enough, but, for context,
see the PR linked above.
|
| |
| |
| | |
Co-Authored-By: Mark <[email protected]>
|
| |
| |
| |
| |
| | |
This commit adds unit tests that provide a full branch coverage of
the `bot.cogs.duck_pond` file.
|
| |
| |
| |
| |
| |
| |
| | |
I have added a mock type to mock `discord.Webhook` instances. Note
that the current type is specifically meant to mock webhooks that
use an AsyncAdaptor and therefore has AsyncMock/coroutine mocks for
the "maybe-coroutine" methods specified in the `discord.py` docs.
|
| |
| |
| |
| |
| | |
The new AsyncIteratorMock no longer needs an additional method to be
used with a Mock object.
|
| |
| |
| |
| |
| |
| |
| |
| | |
I have added a special mock that follows the specifications of a
`discord.User` instance. This is useful, since `Users` have less
attributes available than `discord.Members`. Since this difference
in availability of information can be important, we should not use
a `MockMember` to mock a `discord.user`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The AsyncIteratorMock included in Python 3.8 will work similarly to
the mocks of callabes. This means that it allows you to set the items
it will yield using the `return_value` attribute. It will also have
support for the common Mock-specific assertions.
This commit introduces some backports of those features in a slightly
simplified way to make the transition to Python 3.8 easier in the
future.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As stated from the start, our intention is to add custom mock types
as we need them for testing. While writing tests for DuckPond, I
noticed that we did not have a mock type for Attachments, so I added
one with this commit.
In addition, I think it's a very sensible for MockMessage to have an
empty list as a default value for the `attachements` attribute. This
is equal to what `discord.Message` returns for a message without
attachments and makes sure that if you don't explicitely add an
attachment to a message, `MockMessage.attachments` tests as falsey.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By default, a mocked value is considered `truthy` in Python, like all
non-empty/non-zero/non-None values in Python. This means that if an
attribute is not explicitly set on a mock, it will evaluate at as
truthy in a boolean context, since the mock will provide a truthy
mocked value by default.
This is not the best default value for the `bot` attribute of our
MockMember type, since members are rarely bots. It makes much more
intuitive sense to me to consider a member to not be a bot, unless we
explicitly set `bot=True`.
This commit sets that sensible default value that can be overwritten
by passing `bot=False` to the constructor or setting the `object.bot`
attribute to `False` after the creation of the mock.
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Basically I suck at this and I can't get this return_value thing to work.
I'll have Ves look at it to resolve it.
As of right now, multiple tests are failing.
|
| | |
| | |
| | |
| | |
| | | |
Also gets started setting up for the final tests, which will require
more mockwork.
|
| | | |
|