• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

iplweb / bpp / 0950478e-207f-4389-967f-fb3a6c1090d4

01 Apr 2025 12:57PM UTC coverage: 43.279% (-3.3%) from 46.628%
0950478e-207f-4389-967f-fb3a6c1090d4

push

circleci

mpasternak
Merge branch 'release/v202504.1175'

1 of 19 new or added lines in 5 files covered. (5.26%)

1780 existing lines in 123 files now uncovered.

15876 of 36683 relevant lines covered (43.28%)

0.79 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
src/bpp/tests/test_admin/test_exports.py
UNCOV
1
from io import BytesIO
×
2

UNCOV
3
import openpyxl
×
UNCOV
4
import pytest
×
UNCOV
5
from django.urls import reverse
×
UNCOV
6
from django_webtest import DjangoTestApp, DjangoWebtestResponse
×
UNCOV
7
from model_bakery import baker
×
8

UNCOV
9
from django.contrib.admin import site
×
10

UNCOV
11
from bpp.models import Autor, Wydawnictwo_Ciagle, Wydawnictwo_Zwarte
×
12

UNCOV
13
NAZWA_LINKU_EKSPORTU = "Eksport"
×
14

15

UNCOV
16
@pytest.mark.parametrize(
×
17
    "urlname,klass",
18
    [
19
        ("wydawnictwo_ciagle", Wydawnictwo_Ciagle),
20
        ("wydawnictwo_zwarte", Wydawnictwo_Zwarte),
21
        ("autor", Autor),
22
    ],
23
)
UNCOV
24
def test_xlsx_export_overflow(urlname, klass, admin_app: DjangoTestApp, settings):
×
25
    max_allowed_export_items = 5
×
26

27
    settings.BPP_MAX_ALLOWED_EXPORT_ITEMS = max_allowed_export_items
×
28

29
    modeladmin = site._registry.get(klass)
×
30
    if hasattr(modeladmin, "max_allowed_export_items"):
×
31
        modeladmin.max_allowed_export_items = max_allowed_export_items
×
32

33
    baker.make(
×
34
        klass,
35
        _quantity=max_allowed_export_items,
36
        _bulk_create=True,
37
    )
38

39
    page: DjangoWebtestResponse = admin_app.get(
×
40
        reverse(f"admin:bpp_{urlname}_changelist")
41
    )
42

43
    with pytest.raises(IndexError):
×
44
        page.click(NAZWA_LINKU_EKSPORTU)
×
45

46
    klass.objects.all().first().delete()
×
47

48
    page: DjangoWebtestResponse = admin_app.get(
×
49
        reverse(f"admin:bpp_{urlname}_changelist")
50
    )
51
    page.click(NAZWA_LINKU_EKSPORTU)
×
52

53

UNCOV
54
@pytest.mark.parametrize(
×
55
    "urlname,klass,cname",
56
    [
57
        ("wydawnictwo_ciagle", Wydawnictwo_Ciagle, "id"),
58
        ("wydawnictwo_zwarte", Wydawnictwo_Zwarte, "id"),
59
        ("autor", Autor, "nazwisko"),
60
    ],
61
)
UNCOV
62
def test_xlsx_export_data(urlname, klass, cname, admin_app: DjangoTestApp):
×
63
    baker.make(klass)
×
64

65
    page: DjangoWebtestResponse = admin_app.get(
×
66
        reverse(f"admin:bpp_{urlname}_changelist")
67
    )
68

69
    xlsx_binary_data = page.click(NAZWA_LINKU_EKSPORTU)
×
70
    wb = openpyxl.load_workbook(BytesIO(xlsx_binary_data.content))
×
71
    assert wb.active["A1"].value == cname
×
72

73

UNCOV
74
@pytest.mark.django_db
×
UNCOV
75
def test_xlsx_export_nazwy_zamiast_numerkow(
×
76
    wydawnictwo_ciagle, admin_app: DjangoTestApp
77
):
78
    # fikstura wydawnictwo_ciagle tworzy wydawnictwo cialge z jezykiem polskim
79

80
    page: DjangoWebtestResponse = admin_app.get(
×
81
        reverse("admin:bpp_wydawnictwo_ciagle_changelist")
82
    )
83

84
    xlsx_binary_data = page.click(NAZWA_LINKU_EKSPORTU)
×
85
    wb = openpyxl.load_workbook(BytesIO(xlsx_binary_data.content))
×
86
    ws = wb.active
×
87

88
    column_name = "jezyk"
×
89
    for column_cell in ws.iter_cols(1, ws.max_column):  # iterate column cell
×
90
        if column_cell[0].value == column_name:  # check for your column
×
91
            for data in column_cell[1:2]:  # iterate your column
×
92
                assert data.value == "pol."
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc