|  | Commit message (Collapse) | Author | Age | Lines | 
|---|
| ... |  | 
| | | | | 
| | | | 
| | | | 
| | | | | 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. | 
| | | | |  | 
| | | | |  | 
| | |\ \ |  | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | | This adds empty tests for all the tests I'd like to add to this
pull request. It also adds a few more duckies to the emoji
constant list, and adds a single line of clarification to the
testing readme. | 
| | | | | |  | 
| | | | | 
| | | | 
| | | | 
| | | | | config to subTest | 
| | | | | |  | 
| | | | | 
| | | | 
| | | | 
| | | | | tested rule | 
| | | | | |  | 
| | | | | |  | 
| | | | | |  |