Browse Source

Implement add book test

master
Gabriel Augendre 3 months ago
parent
commit
54213ba4d4
  1. 96
      manuels/fixtures/editors.yaml
  2. 161
      manuels/fixtures/levels.yaml
  3. 4
      manuels/templates/manuels/list_books_supplies.html
  4. 586
      manuels/tests/cassettes/add_book_with_decitre.yaml
  5. 82
      manuels/tests/test_add_book.py
  6. 129
      poetry.lock
  7. 1
      pyproject.toml

96
manuels/fixtures/editors.yaml

@ -0,0 +1,96 @@
- model: manuels.editor
pk: 1
fields:
created_at: 2018-05-21 23:52:04.625313+00:00
updated_at: 2018-05-21 23:52:04.625339+00:00
name: Nathan Technique
- model: manuels.editor
pk: 2
fields:
created_at: 2018-05-23 21:30:36.614547+00:00
updated_at: 2018-05-23 21:30:36.614582+00:00
name: Foucher
- model: manuels.editor
pk: 3
fields:
created_at: 2018-05-23 21:30:53.729217+00:00
updated_at: 2018-05-23 21:30:53.729244+00:00
name: Delagrave
- model: manuels.editor
pk: 4
fields:
created_at: 2018-05-24 07:42:36.637920+00:00
updated_at: 2020-06-30 11:05:21.154628+00:00
name: BPI (Editions)
- model: manuels.editor
pk: 5
fields:
created_at: 2018-05-24 07:43:36.023261+00:00
updated_at: 2018-05-24 07:43:36.023288+00:00
name: Delagrave Lanore
- model: manuels.editor
pk: 6
fields:
created_at: 2018-05-24 07:46:42.224916+00:00
updated_at: 2018-05-24 07:46:42.224969+00:00
name: Bertrand-Lacoste
- model: manuels.editor
pk: 7
fields:
created_at: 2018-05-24 07:47:02.123413+00:00
updated_at: 2018-05-24 07:47:02.123470+00:00
name: Livre de Poche
- model: manuels.editor
pk: 8
fields:
created_at: 2018-05-24 07:47:27.845201+00:00
updated_at: 2018-05-24 07:49:43.457058+00:00
name: Le Génie Editeur
- model: manuels.editor
pk: 9
fields:
created_at: 2018-05-24 07:50:08.412072+00:00
updated_at: 2018-05-24 07:50:08.412099+00:00
name: Librio
- model: manuels.editor
pk: 10
fields:
created_at: 2018-05-24 07:50:15.312354+00:00
updated_at: 2018-05-24 07:50:15.312401+00:00
name: Belin
- model: manuels.editor
pk: 11
fields:
created_at: 2018-05-24 07:50:29.376570+00:00
updated_at: 2018-05-24 07:50:29.376595+00:00
name: LT Jacques Lanore
- model: manuels.editor
pk: 12
fields:
created_at: 2018-05-24 08:41:15.179008+00:00
updated_at: 2018-05-24 08:41:15.179039+00:00
name: Hachette Education
- model: manuels.editor
pk: 13
fields:
created_at: 2018-05-24 08:41:23.198186+00:00
updated_at: 2018-05-24 08:41:23.198211+00:00
name: Hachette Technique
- model: manuels.editor
pk: 14
fields:
created_at: 2019-04-06 15:56:17.391985+00:00
updated_at: 2019-04-06 15:56:17.392024+00:00
name: AUTRE
- model: manuels.editor
pk: 15
fields:
created_at: 2020-06-30 11:05:52.948953+00:00
updated_at: 2020-06-30 11:05:52.948979+00:00
name: BPI
- model: manuels.editor
pk: 16
fields:
created_at: 2020-06-30 11:07:41.171551+00:00
updated_at: 2020-06-30 11:07:41.171584+00:00
name: Nathan

161
manuels/fixtures/levels.yaml

@ -0,0 +1,161 @@
- model: manuels.level
pk: 1
fields:
created_at: 2018-05-21 23:51:32.192659+00:00
updated_at: 2021-06-10 14:49:31.808889+00:00
name: TEPC
order: 60
- model: manuels.level
pk: 2
fields:
created_at: 2018-05-21 23:51:32.192659+00:00
updated_at: 2021-05-09 15:46:27.101295+00:00
name: 1EPC
order: 50
- model: manuels.level
pk: 3
fields:
created_at: 2018-05-22 09:35:47.899146+00:00
updated_at: 2019-05-28 08:22:28.856626+00:00
name: 1HCR
order: 70
- model: manuels.level
pk: 4
fields:
created_at: 2018-05-22 09:36:20.462287+00:00
updated_at: 2019-05-28 08:22:28.840231+00:00
name: TC
order: 40
- model: manuels.level
pk: 6
fields:
created_at: 2018-05-22 09:40:05.347592+00:00
updated_at: 2019-05-28 08:22:28.861702+00:00
name: THCR
order: 80
- model: manuels.level
pk: 10
fields:
created_at: 2018-05-24 07:21:03.328756+00:00
updated_at: 2021-06-10 15:00:11.767805+00:00
name: 2BR (FMHR)
order: 100
- model: manuels.level
pk: 13
fields:
created_at: 2018-05-24 07:23:10.806269+00:00
updated_at: 2019-05-28 08:22:28.830441+00:00
name: TAPH
order: 20
- model: manuels.level
pk: 14
fields:
created_at: 2018-05-24 07:30:03.322522+00:00
updated_at: 2021-06-10 15:01:09.966530+00:00
name: 1BR (FMHR)
order: 120
- model: manuels.level
pk: 16
fields:
created_at: 2018-05-24 07:31:24.408312+00:00
updated_at: 2019-05-28 08:22:28.890927+00:00
name: TBR Cuisine
order: 140
- model: manuels.level
pk: 17
fields:
created_at: 2018-05-24 07:31:32.980401+00:00
updated_at: 2019-05-28 08:22:28.896019+00:00
name: TBR Service
order: 150
- model: manuels.level
pk: 18
fields:
created_at: 2018-05-24 07:33:31.956769+00:00
updated_at: 2019-05-28 08:22:28.901015+00:00
name: 2BHPS
order: 160
- model: manuels.level
pk: 19
fields:
created_at: 2018-05-24 07:33:38.415125+00:00
updated_at: 2019-05-28 08:22:28.905544+00:00
name: 1BHPS
order: 170
- model: manuels.level
pk: 20
fields:
created_at: 2018-05-24 07:34:31.289711+00:00
updated_at: 2019-05-28 08:22:28.910135+00:00
name: TBHPS
order: 180
- model: manuels.level
pk: 22
fields:
created_at: 2018-05-24 07:36:38.466515+00:00
updated_at: 2019-05-28 09:11:16.516466+00:00
name: FCCDR
order: 210
- model: manuels.level
pk: 24
fields:
created_at: 2018-05-24 07:37:17.698638+00:00
updated_at: 2019-05-28 09:14:54.078509+00:00
name: PCR/APH
order: 225
- model: manuels.level
pk: 26
fields:
created_at: 2019-05-28 08:08:16.829760+00:00
updated_at: 2019-05-28 09:14:11.945424+00:00
name: BTS MSE1
order: 250
- model: manuels.level
pk: 27
fields:
created_at: 2019-05-28 08:08:24.160816+00:00
updated_at: 2019-05-28 09:14:11.953016+00:00
name: BTS MSE2
order: 260
- model: manuels.level
pk: 28
fields:
created_at: 2019-05-28 09:11:52.129850+00:00
updated_at: 2019-05-28 09:12:37.745160+00:00
name: CS1
order: 220
- model: manuels.level
pk: 29
fields:
created_at: 2019-05-28 09:13:22.829655+00:00
updated_at: 2019-07-02 08:48:52.770113+00:00
name: 1ACR
order: 231
- model: manuels.level
pk: 30
fields:
created_at: 2019-05-28 09:13:29.936347+00:00
updated_at: 2019-07-02 08:48:52.779779+00:00
name: TACR
order: 241
- model: manuels.level
pk: 31
fields:
created_at: 2021-05-09 15:46:45.283121+00:00
updated_at: 2021-05-09 15:46:45.283173+00:00
name: 3e Prépa Métiers
order: 0
- model: manuels.level
pk: 32
fields:
created_at: 2021-05-09 15:47:10.620285+00:00
updated_at: 2021-05-09 15:47:21.317562+00:00
name: 1 APH
order: 10
- model: manuels.level
pk: 33
fields:
created_at: 2021-05-09 15:48:31.353920+00:00
updated_at: 2021-05-09 15:48:31.353972+00:00
name: 1C
order: 30

4
manuels/templates/manuels/list_books_supplies.html

@ -33,7 +33,9 @@
<h2>
Liste des livres demandés
{% if not teacher.has_confirmed_list %}
<a href="{% url 'add_book' pk=teacher.pk %}" class="btn btn-primary">
<a href="{% url 'add_book' pk=teacher.pk %}"
class="btn btn-primary"
id="add-book">
<i class="fas fa-plus-circle"></i> Ajouter un livre
</a>
{% endif %}

586
manuels/tests/cassettes/add_book_with_decitre.yaml

@ -0,0 +1,586 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.25.1
method: GET
uri: https://www.decitre.fr/livres/9782216157396.html
response:
body:
string: !!binary |
H4sIAAAAAAAAAwMAAAAAAAAAAAA=
headers:
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Length:
- '20'
Content-Type:
- text/html; charset=UTF-8
Date:
- Sat, 10 Jul 2021 14:38:39 GMT
Keep-Alive:
- timeout=10
Location:
- https://www.decitre.fr/livres/francais-cap-les-nouveaux-cahiers-9782216157396.html
Server:
- nginx
Vary:
- Accept-Encoding
status:
code: 301
message: Moved Permanently
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.25.1
method: GET
uri: https://www.decitre.fr/livres/francais-cap-les-nouveaux-cahiers-9782216157396.html
response:
body:
string: !!binary |
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
headers:
Accept-Ranges:
- bytes
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Length:
- '28668'
Content-Type:
- text/html; charset=UTF-8
Date:
- Sat, 10 Jul 2021 14:38:39 GMT
Keep-Alive:
- timeout=10
Last-Modified:
- Sat, 10 Jul 2021 03:35:55 GMT
Server:
- nginx
Vary:
- Accept-Encoding
X-Page:
- product
status:
code: 200
message: OK
version: 1

82
manuels/tests/test_add_book.py

@ -1,17 +1,75 @@
from pathlib import Path
import vcr
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from manuels.models import Book, Editor
from manuels.tests.selenium import TeacherSeleniumTestCase
class AddBookTestCase(TeacherSeleniumTestCase):
fixtures = ["editors", "levels"]
@vcr.use_cassette(
str((Path(__file__).parent / "cassettes/add_book_with_decitre.yaml").resolve()),
ignore_localhost=True,
)
def test_add_book_with_decitre(self):
# empty cache
# use vcrpy to reproduce decitre call on a known book
# Click on add book button
# select level
# fill discipline
# fill ISBN
# click on "fill with decitre"
# check info is filled
# check values, especially price
# finish filling form
# check book is created
assert False
field = "Français"
isbn = "978-2-216-15739-6"
title = "Français CAP Les nouveaux cahiers"
authors = (
"Michèle Sendre-Haïdar,Nathalie Leduc,Florian Seuzaret,Emmanuelle Goulard"
)
price = 17.5
editor = Editor.objects.get(name__iexact="Foucher")
self.get(self.teacher.get_absolute_url())
self.selenium.find_element_by_id("add-book").click()
self.selenium.find_element_by_id("id_levels").send_keys("TEPC")
self.selenium.find_element_by_id("id_field").send_keys(field)
self.selenium.find_element_by_id("id_isbn").send_keys(isbn)
self.selenium.find_element_by_id("id_isbn_button").click()
self._wait_for_elements_by_css_selector("#id_isbn.is-valid")
self.assert_input_value("id_title", title)
self.assert_input_value("id_publication_year", "2020")
self.assert_input_value("id_editor", editor.pk)
self.assert_input_value("id_authors", authors)
self.assert_input_value("id_price", str(price))
self.selenium.find_element_by_id("id_previously_acquired").send_keys("Non")
self.selenium.find_element_by_id("id_consumable").send_keys("Non")
self.selenium.find_element_by_css_selector("[for=id_add_another]").click()
self.selenium.find_element_by_css_selector(".btn[type=submit]").click()
expected_url = self.teacher.get_absolute_url()
expected_url = self.get_full_url(expected_url)
assert self.selenium.current_url == expected_url
book = Book.objects.first()
assert book.teacher == self.teacher
assert book.isbn == isbn
assert book.field == field
assert book.title == title
assert book.publication_year == 2020
assert book.editor == editor
assert book.authors == authors
assert book.previously_acquired is False
assert book.consumable is False
def assert_input_value(self, input_id, expected_value):
assert self.selenium.find_element_by_id(input_id).get_attribute("value") == str(
expected_value
)
def _wait_for_elements_by_css_selector(self, css_selector, wait_time=5):
wait = WebDriverWait(self.selenium, wait_time)
markers = wait.until(
expected_conditions.presence_of_all_elements_located(
(By.CSS_SELECTOR, css_selector)
)
)
return markers

129
poetry.lock

@ -278,6 +278,14 @@ python-versions = "*"
[package.dependencies]
django = ">=2.2"
[[package]]
name = "multidict"
version = "5.1.0"
description = "multidict implementation"
category = "dev"
optional = false
python-versions = ">=3.6"
[[package]]
name = "nodeenv"
version = "1.6.0"
@ -545,6 +553,20 @@ brotli = ["brotlipy (>=0.6.0)"]
secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
[[package]]
name = "vcrpy"
version = "4.1.1"
description = "Automatically mock your HTTP interactions to simplify and speed up testing"
category = "dev"
optional = false
python-versions = ">=3.5"
[package.dependencies]
PyYAML = "*"
six = ">=1.5"
wrapt = "*"
yarl = {version = "*", markers = "python_version >= \"3.6\""}
[[package]]
name = "virtualenv"
version = "20.4.7"
@ -574,6 +596,14 @@ python-versions = ">=3.5, <4"
[package.extras]
brotli = ["brotli"]
[[package]]
name = "wrapt"
version = "1.12.1"
description = "Module for decorators, wrappers and monkey patching."
category = "dev"
optional = false
python-versions = "*"
[[package]]
name = "xlrd"
version = "2.0.1"
@ -595,10 +625,22 @@ category = "main"
optional = false
python-versions = "*"
[[package]]
name = "yarl"
version = "1.6.3"
description = "Yet another URL library"
category = "dev"
optional = false
python-versions = ">=3.6"
[package.dependencies]
idna = ">=2.0"
multidict = ">=4.0"
[metadata]
lock-version = "1.1"
python-versions = "^3.9"
content-hash = "337fda673a0bc3b5148651917cc641f5d6ce56b39af26d1fcd53624f02feff8c"
content-hash = "a297139d52d31a113cebd44e779dc35d41b8c6fa42213c13c5d52b3593563d12"
[metadata.files]
appdirs = [
@ -709,6 +751,45 @@ model-bakery = [
{file = "model_bakery-1.3.2-py2.py3-none-any.whl", hash = "sha256:bebde0d4f895f55a8cf26706275a238fecdf0fddd227214675b7351598c99ce5"},
{file = "model_bakery-1.3.2.tar.gz", hash = "sha256:7e06071c7ba5c58f9c1d7245b4b80cc5240806f30c4561f5c04a652d67626725"},
]
multidict = [
{file = "multidict-5.1.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:b7993704f1a4b204e71debe6095150d43b2ee6150fa4f44d6d966ec356a8d61f"},
{file = "multidict-5.1.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:9dd6e9b1a913d096ac95d0399bd737e00f2af1e1594a787e00f7975778c8b2bf"},
{file = "multidict-5.1.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:f21756997ad8ef815d8ef3d34edd98804ab5ea337feedcd62fb52d22bf531281"},
{file = "multidict-5.1.0-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:1ab820665e67373de5802acae069a6a05567ae234ddb129f31d290fc3d1aa56d"},
{file = "multidict-5.1.0-cp36-cp36m-manylinux2014_ppc64le.whl", hash = "sha256:9436dc58c123f07b230383083855593550c4d301d2532045a17ccf6eca505f6d"},
{file = "multidict-5.1.0-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:830f57206cc96ed0ccf68304141fec9481a096c4d2e2831f311bde1c404401da"},
{file = "multidict-5.1.0-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:2e68965192c4ea61fff1b81c14ff712fc7dc15d2bd120602e4a3494ea6584224"},
{file = "multidict-5.1.0-cp36-cp36m-win32.whl", hash = "sha256:2f1a132f1c88724674271d636e6b7351477c27722f2ed789f719f9e3545a3d26"},
{file = "multidict-5.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:3a4f32116f8f72ecf2a29dabfb27b23ab7cdc0ba807e8459e59a93a9be9506f6"},
{file = "multidict-5.1.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:46c73e09ad374a6d876c599f2328161bcd95e280f84d2060cf57991dec5cfe76"},
{file = "multidict-5.1.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:018132dbd8688c7a69ad89c4a3f39ea2f9f33302ebe567a879da8f4ca73f0d0a"},
{file = "multidict-5.1.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:4b186eb7d6ae7c06eb4392411189469e6a820da81447f46c0072a41c748ab73f"},
{file = "multidict-5.1.0-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:3a041b76d13706b7fff23b9fc83117c7b8fe8d5fe9e6be45eee72b9baa75f348"},
{file = "multidict-5.1.0-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:051012ccee979b2b06be928a6150d237aec75dd6bf2d1eeeb190baf2b05abc93"},
{file = "multidict-5.1.0-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:6a4d5ce640e37b0efcc8441caeea8f43a06addace2335bd11151bc02d2ee31f9"},
{file = "multidict-5.1.0-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:5cf3443199b83ed9e955f511b5b241fd3ae004e3cb81c58ec10f4fe47c7dce37"},
{file = "multidict-5.1.0-cp37-cp37m-win32.whl", hash = "sha256:f200755768dc19c6f4e2b672421e0ebb3dd54c38d5a4f262b872d8cfcc9e93b5"},
{file = "multidict-5.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:05c20b68e512166fddba59a918773ba002fdd77800cad9f55b59790030bab632"},
{file = "multidict-5.1.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:54fd1e83a184e19c598d5e70ba508196fd0bbdd676ce159feb412a4a6664f952"},
{file = "multidict-5.1.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:0e3c84e6c67eba89c2dbcee08504ba8644ab4284863452450520dad8f1e89b79"},
{file = "multidict-5.1.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:dc862056f76443a0db4509116c5cd480fe1b6a2d45512a653f9a855cc0517456"},
{file = "multidict-5.1.0-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:0e929169f9c090dae0646a011c8b058e5e5fb391466016b39d21745b48817fd7"},
{file = "multidict-5.1.0-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:d81eddcb12d608cc08081fa88d046c78afb1bf8107e6feab5d43503fea74a635"},
{file = "multidict-5.1.0-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:585fd452dd7782130d112f7ddf3473ffdd521414674c33876187e101b588738a"},
{file = "multidict-5.1.0-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:37e5438e1c78931df5d3c0c78ae049092877e5e9c02dd1ff5abb9cf27a5914ea"},
{file = "multidict-5.1.0-cp38-cp38-win32.whl", hash = "sha256:07b42215124aedecc6083f1ce6b7e5ec5b50047afa701f3442054373a6deb656"},
{file = "multidict-5.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:929006d3c2d923788ba153ad0de8ed2e5ed39fdbe8e7be21e2f22ed06c6783d3"},
{file = "multidict-5.1.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:b797515be8743b771aa868f83563f789bbd4b236659ba52243b735d80b29ed93"},
{file = "multidict-5.1.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d5c65bdf4484872c4af3150aeebe101ba560dcfb34488d9a8ff8dbcd21079647"},
{file = "multidict-5.1.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:b47a43177a5e65b771b80db71e7be76c0ba23cc8aa73eeeb089ed5219cdbe27d"},
{file = "multidict-5.1.0-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:806068d4f86cb06af37cd65821554f98240a19ce646d3cd24e1c33587f313eb8"},
{file = "multidict-5.1.0-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:46dd362c2f045095c920162e9307de5ffd0a1bfbba0a6e990b344366f55a30c1"},
{file = "multidict-5.1.0-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:ace010325c787c378afd7f7c1ac66b26313b3344628652eacd149bdd23c68841"},
{file = "multidict-5.1.0-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:ecc771ab628ea281517e24fd2c52e8f31c41e66652d07599ad8818abaad38cda"},
{file = "multidict-5.1.0-cp39-cp39-win32.whl", hash = "sha256:fc13a9524bc18b6fb6e0dbec3533ba0496bbed167c56d0aabefd965584557d80"},
{file = "multidict-5.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:7df80d07818b385f3129180369079bd6934cf70469f99daaebfac89dca288359"},
{file = "multidict-5.1.0.tar.gz", hash = "sha256:25b4e5f22d3a37ddf3effc0710ba692cfc792c2b9edfb9c05aefe823256e84d5"},
]
nodeenv = [
{file = "nodeenv-1.6.0-py2.py3-none-any.whl", hash = "sha256:621e6b7076565ddcacd2db0294c0381e01fd28945ab36bcf00f41c5daf63bef7"},
{file = "nodeenv-1.6.0.tar.gz", hash = "sha256:3ef13ff90291ba2a4a7a4ff9a979b63ffdd00a464dbe04acf0ea6471517a4c2b"},
@ -855,6 +936,10 @@ urllib3 = [
{file = "urllib3-1.26.5-py2.py3-none-any.whl", hash = "sha256:753a0374df26658f99d826cfe40394a686d05985786d946fbe4165b5148f5a7c"},
{file = "urllib3-1.26.5.tar.gz", hash = "sha256:a7acd0977125325f516bda9735fa7142b909a8d01e8b2e4c8108d0984e6e0098"},
]
vcrpy = [
{file = "vcrpy-4.1.1-py2.py3-none-any.whl", hash = "sha256:12c3fcdae7b88ecf11fc0d3e6d77586549d4575a2ceee18e82eee75c1f626162"},
{file = "vcrpy-4.1.1.tar.gz", hash = "sha256:57095bf22fc0a2d99ee9674cdafebed0f3ba763018582450706f7d3a74fff599"},
]
virtualenv = [
{file = "virtualenv-20.4.7-py2.py3-none-any.whl", hash = "sha256:2b0126166ea7c9c3661f5b8e06773d28f83322de7a3ff7d06f0aed18c9de6a76"},
{file = "virtualenv-20.4.7.tar.gz", hash = "sha256:14fdf849f80dbb29a4eb6caa9875d476ee2a5cf76a5f5415fa2f1606010ab467"},
@ -863,6 +948,9 @@ whitenoise = [
{file = "whitenoise-5.2.0-py2.py3-none-any.whl", hash = "sha256:05d00198c777028d72d8b0bbd234db605ef6d60e9410125124002518a48e515d"},
{file = "whitenoise-5.2.0.tar.gz", hash = "sha256:05ce0be39ad85740a78750c86a93485c40f08ad8c62a6006de0233765996e5c7"},
]
wrapt = [
{file = "wrapt-1.12.1.tar.gz", hash = "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"},
]
xlrd = [
{file = "xlrd-2.0.1-py2.py3-none-any.whl", hash = "sha256:6a33ee89877bd9abc1158129f6e94be74e2679636b8a205b43b85206c3f0bbdd"},
{file = "xlrd-2.0.1.tar.gz", hash = "sha256:f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88"},
@ -871,3 +959,42 @@ xlwt = [
{file = "xlwt-1.3.0-py2.py3-none-any.whl", hash = "sha256:a082260524678ba48a297d922cc385f58278b8aa68741596a87de01a9c628b2e"},
{file = "xlwt-1.3.0.tar.gz", hash = "sha256:c59912717a9b28f1a3c2a98fd60741014b06b043936dcecbc113eaaada156c88"},
]
yarl = [
{file = "yarl-1.6.3-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:0355a701b3998dcd832d0dc47cc5dedf3874f966ac7f870e0f3a6788d802d434"},
{file = "yarl-1.6.3-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:bafb450deef6861815ed579c7a6113a879a6ef58aed4c3a4be54400ae8871478"},
{file = "yarl-1.6.3-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:547f7665ad50fa8563150ed079f8e805e63dd85def6674c97efd78eed6c224a6"},
{file = "yarl-1.6.3-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:63f90b20ca654b3ecc7a8d62c03ffa46999595f0167d6450fa8383bab252987e"},
{file = "yarl-1.6.3-cp36-cp36m-manylinux2014_ppc64le.whl", hash = "sha256:97b5bdc450d63c3ba30a127d018b866ea94e65655efaf889ebeabc20f7d12406"},
{file = "yarl-1.6.3-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:d8d07d102f17b68966e2de0e07bfd6e139c7c02ef06d3a0f8d2f0f055e13bb76"},
{file = "yarl-1.6.3-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:15263c3b0b47968c1d90daa89f21fcc889bb4b1aac5555580d74565de6836366"},
{file = "yarl-1.6.3-cp36-cp36m-win32.whl", hash = "sha256:b5dfc9a40c198334f4f3f55880ecf910adebdcb2a0b9a9c23c9345faa9185721"},
{file = "yarl-1.6.3-cp36-cp36m-win_amd64.whl", hash = "sha256:b2e9a456c121e26d13c29251f8267541bd75e6a1ccf9e859179701c36a078643"},
{file = "yarl-1.6.3-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:ce3beb46a72d9f2190f9e1027886bfc513702d748047b548b05dab7dfb584d2e"},
{file = "yarl-1.6.3-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:2ce4c621d21326a4a5500c25031e102af589edb50c09b321049e388b3934eec3"},
{file = "yarl-1.6.3-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:d26608cf178efb8faa5ff0f2d2e77c208f471c5a3709e577a7b3fd0445703ac8"},
{file = "yarl-1.6.3-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:4c5bcfc3ed226bf6419f7a33982fb4b8ec2e45785a0561eb99274ebbf09fdd6a"},
{file = "yarl-1.6.3-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:4736eaee5626db8d9cda9eb5282028cc834e2aeb194e0d8b50217d707e98bb5c"},
{file = "yarl-1.6.3-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:68dc568889b1c13f1e4745c96b931cc94fdd0defe92a72c2b8ce01091b22e35f"},
{file = "yarl-1.6.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:7356644cbed76119d0b6bd32ffba704d30d747e0c217109d7979a7bc36c4d970"},
{file = "yarl-1.6.3-cp37-cp37m-win32.whl", hash = "sha256:00d7ad91b6583602eb9c1d085a2cf281ada267e9a197e8b7cae487dadbfa293e"},
{file = "yarl-1.6.3-cp37-cp37m-win_amd64.whl", hash = "sha256:69ee97c71fee1f63d04c945f56d5d726483c4762845400a6795a3b75d56b6c50"},
{file = "yarl-1.6.3-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:e46fba844f4895b36f4c398c5af062a9808d1f26b2999c58909517384d5deda2"},
{file = "yarl-1.6.3-cp38-cp38-manylinux1_i686.whl", hash = "sha256:31ede6e8c4329fb81c86706ba8f6bf661a924b53ba191b27aa5fcee5714d18ec"},
{file = "yarl-1.6.3-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fcbb48a93e8699eae920f8d92f7160c03567b421bc17362a9ffbbd706a816f71"},
{file = "yarl-1.6.3-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:72a660bdd24497e3e84f5519e57a9ee9220b6f3ac4d45056961bf22838ce20cc"},
{file = "yarl-1.6.3-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:324ba3d3c6fee56e2e0b0d09bf5c73824b9f08234339d2b788af65e60040c959"},
{file = "yarl-1.6.3-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:e6b5460dc5ad42ad2b36cca524491dfcaffbfd9c8df50508bddc354e787b8dc2"},
{file = "yarl-1.6.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:6d6283d8e0631b617edf0fd726353cb76630b83a089a40933043894e7f6721e2"},
{file = "yarl-1.6.3-cp38-cp38-win32.whl", hash = "sha256:9ede61b0854e267fd565e7527e2f2eb3ef8858b301319be0604177690e1a3896"},
{file = "yarl-1.6.3-cp38-cp38-win_amd64.whl", hash = "sha256:f0b059678fd549c66b89bed03efcabb009075bd131c248ecdf087bdb6faba24a"},
{file = "yarl-1.6.3-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:329412812ecfc94a57cd37c9d547579510a9e83c516bc069470db5f75684629e"},
{file = "yarl-1.6.3-cp39-cp39-manylinux1_i686.whl", hash = "sha256:c49ff66d479d38ab863c50f7bb27dee97c6627c5fe60697de15529da9c3de724"},
{file = "yarl-1.6.3-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f040bcc6725c821a4c0665f3aa96a4d0805a7aaf2caf266d256b8ed71b9f041c"},
{file = "yarl-1.6.3-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:d5c32c82990e4ac4d8150fd7652b972216b204de4e83a122546dce571c1bdf25"},
{file = "yarl-1.6.3-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:d597767fcd2c3dc49d6eea360c458b65643d1e4dbed91361cf5e36e53c1f8c96"},
{file = "yarl-1.6.3-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:8aa3decd5e0e852dc68335abf5478a518b41bf2ab2f330fe44916399efedfae0"},
{file = "yarl-1.6.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:73494d5b71099ae8cb8754f1df131c11d433b387efab7b51849e7e1e851f07a4"},
{file = "yarl-1.6.3-cp39-cp39-win32.whl", hash = "sha256:5b883e458058f8d6099e4420f0cc2567989032b5f34b271c0827de9f1079a424"},
{file = "yarl-1.6.3-cp39-cp39-win_amd64.whl", hash = "sha256:4953fb0b4fdb7e08b2f3b3be80a00d28c5c8a2056bb066169de00e6501b986b6"},
{file = "yarl-1.6.3.tar.gz", hash = "sha256:8a9066529240171b68893d60dca86a763eae2139dd42f42106b03cf4b426bf10"},
]

1
pyproject.toml

@ -27,6 +27,7 @@ pytest-django = "^4.4.0"
pytest-html = "^3.1.1"
model-bakery = "^1.3.2"
selenium = "^3.141.0"
vcrpy = "^4.1.1"
[build-system]
requires = ["poetry-core>=1.0.0"]

Loading…
Cancel
Save