Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
Previously, we had it session-scoped, which meant that the app was
created once for all tests. This doesn't allow us to play with different
settings however, such as disabling account registration or image
uploads and testing that.
Now, the fixtures are module scoped, which means that we still save on
prepare/teardown time a bit, but we're also a bit more flexible. By
making new test modules, we can test different settings there.
|
|
The most "painful" one was Pydantic V2, not because it didn't work, but
because I wanted to do it right and not use the deprecated methods.
|
|
|
|
The new favourite icon messes up the old HTML, so we need to adjust the
test's expectations.
|
|
|
|
|
|
|
|
See if it works, it might be handy for other tests in the future as
well.
|
|
|
|
|
|
|
|
|
|
This looks better than having the header line and the sort button below
each other.
|
|
|
|
|
|
See https://github.com/mozilla/bleach/issues/698
nh3 is a small wrapper around https://crates.io/crates/ammonia - more
Rust code in Fietsboek! \o/
The default seems to be to strip unknown tags instead of replace them
with htmlentities, which is fine. Then the <script> tags are completely
gone.
|
|
Python seems to do fine, but pylint complains (probably rightfully,
since the tests do not represent packages). We lose type hinting for the
playwright_helper, but there's probably a better way to do it in the
future.
|
|
They caused issues because they might not have created the database
tables or the data directory. Since the cleanup job runs globally after
every test, it should take that into consideration and not error out.
|
|
I'd like to have more, but this is a start (and already caught some
errors, see the last two commits).
|
|
It was ovious that this is broken when you try to round "0s" to
second-level granularity, and you end up with "1s". The problem comes
from the fact that we use the integer divison when checking whether we
should round up or down, but then also use strict inequality.
To fix this, we now also round down if the second_offset is equal to the
halfway point (which in the case of second-level granularity is 0).
|
|
We basically do the same hacky trick in two different places, so maybe
we should put it into a separate function, test it, and if a better
implementation arises, swap it.
|
|
Currently, the test seems flaky on CI due to
playwright._impl._api_types.Error: Clicking the checkbox did not
change its state
Maybe this is the change that will fix it?
|
|
This gets the intent across clearer
|
|
|
|
|
|
While it shouldn't change the outcome of the test, it might make the
test less flaky, as the expect call will wait until the page is loaded -
which also indicates that the data is updated. Without this, the test
depends on the backend being "fast enough" with applying the
transformation.
|
|
|
|
Getting ready for SQLAlchemy 2.0!
|
|
|
|
|
|
|
|
|
|
This is code that needs to be repeated in possibly several places
(website, API, tests), so it makes sense to have those "high level
actions" a bit abstracted. edit.edit_images was already doing that to a
certain degree, but the code shouldn't have stayed in the view.
|
|
|
|
|
|
To add more playwright tests and to cut down on the duplicated code, the
helper methods have been put into a small class. This way, we don't have
to add 100 pytest fixtures.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Now that the filtering is done via SQL, it is not enough for the user
and the objects to be in the session - they need to be in the database,
similar to the added tracks.
Note that it was not entirely necessary in this case, since the tracks
are public, but it provides the proper functionality in the future.
|