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

iplweb / bpp / 9ca9114a-93fa-4251-97c0-209b41c87924

20 Aug 2025 09:25PM UTC coverage: 46.283% (+1.3%) from 44.985%
9ca9114a-93fa-4251-97c0-209b41c87924

push

circleci

mpasternak
Merge branch 'release/v202508.1194'

1 of 1 new or added line in 1 file covered. (100.0%)

850 existing lines in 53 files now uncovered.

17649 of 38133 relevant lines covered (46.28%)

1.18 hits per line

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

93.88
src/bpp/tests/test_selenium/test_admin/test_admin.py
UNCOV
1
from selenium.common.exceptions import TimeoutException
1✔
UNCOV
2
from selenium.webdriver.support.expected_conditions import alert_is_present
1✔
3

UNCOV
4
from bpp.const import CHARAKTER_OGOLNY_KSIAZKA, TO_AUTOR
1✔
5

UNCOV
6
try:
1✔
UNCOV
7
    from django.core.urlresolvers import reverse
1✔
UNCOV
8
except ImportError:
1✔
UNCOV
9
    from django.urls import reverse
1✔
10

UNCOV
11
import pytest
1✔
UNCOV
12
from django.db import transaction
1✔
UNCOV
13
from model_bakery import baker
1✔
UNCOV
14
from selenium.webdriver.support.wait import WebDriverWait
1✔
15

UNCOV
16
from bpp.models import (
1✔
17
    Autor,
18
    Charakter_Formalny,
19
    Jednostka,
20
    Typ_Odpowiedzialnosci,
21
    Uczelnia,
22
    Wydawnictwo_Ciagle,
23
)
UNCOV
24
from bpp.models.patent import Patent
1✔
UNCOV
25
from bpp.models.wydawnictwo_zwarte import Wydawnictwo_Zwarte
1✔
UNCOV
26
from bpp.models.zrodlo import Punktacja_Zrodla
1✔
UNCOV
27
from bpp.tests import (
1✔
28
    add_extra_autor_inline,
29
    any_autor,
30
    any_ciagle,
31
    any_jednostka,
32
    assertPopupContains,
33
    proper_click_by_id,
34
    proper_click_element,
35
)
UNCOV
36
from bpp.tests.util import (
1✔
37
    CURRENT_YEAR,
38
    any_zrodlo,
39
    select_select2_autocomplete,
40
    select_select2_clear_selection,
41
    show_element,
42
)
43

UNCOV
44
from django_bpp.selenium_util import (
1✔
45
    LONG_WAIT_TIME,
46
    SHORT_WAIT_TIME,
47
    wait_for,
48
    wait_for_page_load,
49
)
50

UNCOV
51
ID = "id_tytul_oryginalny"
1✔
52

UNCOV
53
pytestmark = [pytest.mark.slow, pytest.mark.selenium]
1✔
54

55

UNCOV
56
@pytest.mark.django_db(transaction=True)
1✔
UNCOV
57
@pytest.mark.parametrize("url", ["wydawnictwo_ciagle", "wydawnictwo_zwarte"])
1✔
UNCOV
58
def test_uzupelnij_strona_tom_nr_zeszytu(url, admin_browser, channels_live_server):
1✔
UNCOV
59
    url = reverse("admin:bpp_%s_add" % url)
1✔
UNCOV
60
    with wait_for_page_load(admin_browser):
1✔
UNCOV
61
        admin_browser.visit(channels_live_server.url + url)
1✔
62

UNCOV
63
    WebDriverWait(admin_browser, SHORT_WAIT_TIME).until(
1✔
64
        lambda browser: not admin_browser.find_by_name("informacje").is_empty()
65
    )
UNCOV
66
    try:
1✔
UNCOV
67
        WebDriverWait(admin_browser, LONG_WAIT_TIME).until(
1✔
68
            lambda browser: not admin_browser.find_by_id("id_strony_get").is_empty()
69
        )
70
    except TimeoutException as e:
×
71
        raise e
×
72

UNCOV
73
    admin_browser.find_by_name("informacje").type("1993 vol. 5 z. 1")
1✔
UNCOV
74
    admin_browser.find_by_name("szczegoly").type("s. 4-3")
1✔
75

UNCOV
76
    elem = admin_browser.find_by_id("id_strony_get")
1✔
UNCOV
77
    show_element(admin_browser, elem)
1✔
UNCOV
78
    elem.click()
1✔
79

UNCOV
80
    WebDriverWait(admin_browser, SHORT_WAIT_TIME).until(
1✔
81
        lambda browser: browser.find_by_name("tom").value != ""
82
    )
83

UNCOV
84
    assert admin_browser.find_by_name("strony").value == "4-3"
1✔
UNCOV
85
    assert admin_browser.find_by_name("tom").value == "5"
1✔
86

UNCOV
87
    if url == "wydawnictwo_ciagle":
1✔
88
        assert admin_browser.find_by_name("nr_zeszytu").value == "1"
×
89

90

UNCOV
91
def test_liczba_znakow_wydawniczych_liczba_arkuszy_wydawniczych(
1✔
92
    admin_browser, channels_live_server
93
):
UNCOV
94
    url = reverse("admin:bpp_wydawnictwo_zwarte_add")
1✔
UNCOV
95
    with wait_for_page_load(admin_browser):
1✔
UNCOV
96
        admin_browser.visit(channels_live_server.url + url)
1✔
97

UNCOV
98
    try:
1✔
UNCOV
99
        WebDriverWait(admin_browser, SHORT_WAIT_TIME).until(
1✔
100
            lambda browser: not admin_browser.find_by_id(
101
                "id_liczba_arkuszy_wydawniczych"
102
            ).is_empty()
103
        )
104
    except TimeoutException as e:
×
105
        raise e
×
106

UNCOV
107
    admin_browser.execute_script(
1✔
108
        "django.jQuery('#id_liczba_znakow_wydawniczych').val('40000').change()"
109
    )
UNCOV
110
    assert admin_browser.find_by_id("id_liczba_arkuszy_wydawniczych").value == "1.00"
1✔
111

UNCOV
112
    admin_browser.execute_script(
1✔
113
        "django.jQuery('#id_liczba_arkuszy_wydawniczych').val('0.5').change()"
114
    )
UNCOV
115
    assert admin_browser.find_by_id("id_liczba_znakow_wydawniczych").value == "20000"
1✔
116

117

UNCOV
118
@pytest.mark.django_db(transaction=True)
1✔
UNCOV
119
def test_automatycznie_uzupelnij_punkty(admin_browser, channels_live_server):
1✔
UNCOV
120
    url = reverse("admin:bpp_wydawnictwo_ciagle_add")
1✔
121

UNCOV
122
    with wait_for_page_load(admin_browser):
1✔
UNCOV
123
        admin_browser.visit(channels_live_server.url + url)
1✔
124

UNCOV
125
    any_zrodlo(nazwa="FOO BAR")
1✔
126

UNCOV
127
    wait_for(lambda: len(admin_browser.find_by_id("id_wypelnij_pola_punktacji_button")))
1✔
128

UNCOV
129
    elem = admin_browser.find_by_id("id_wypelnij_pola_punktacji_button")
1✔
UNCOV
130
    show_element(admin_browser, elem)
1✔
UNCOV
131
    elem.click()
1✔
UNCOV
132
    assertPopupContains(admin_browser, "Najpierw wybierz jakie")
1✔
133

UNCOV
134
    select_select2_autocomplete(admin_browser, "id_zrodlo", "FOO")
1✔
135

UNCOV
136
    proper_click_by_id(admin_browser, "id_wypelnij_pola_punktacji_button")
1✔
UNCOV
137
    assertPopupContains(admin_browser, "Uzupełnij pole")
1✔
138

UNCOV
139
    admin_browser.execute_script("window.onbeforeunload = function(e) {};")
1✔
140

141

UNCOV
142
def trigger_event(elem, event):
1✔
UNCOV
143
    elem.parent.driver.execute_script(
1✔
144
        "return django.jQuery(arguments[0]).trigger(arguments[1]).get();",
145
        "#" + elem["id"],
146
        event,
147
    )
148

149

UNCOV
150
def test_admin_uzupelnij_punkty(admin_browser, channels_live_server, denorms):
1✔
UNCOV
151
    z = any_zrodlo(nazwa="WTF LOL")
1✔
152

UNCOV
153
    kw = dict(zrodlo=z)
1✔
UNCOV
154
    f = Punktacja_Zrodla.objects.create
1✔
UNCOV
155
    f(impact_factor=10.1, punkty_kbn=10.2, rok=CURRENT_YEAR, **kw)
1✔
UNCOV
156
    f(impact_factor=11.1, punkty_kbn=11.2, rok=CURRENT_YEAR + 1, **kw)
1✔
157

UNCOV
158
    c = any_ciagle(zrodlo=z, impact_factor=5, punkty_kbn=5)
1✔
159

UNCOV
160
    url = reverse("admin:bpp_wydawnictwo_ciagle_change", args=(c.pk,))
1✔
UNCOV
161
    with wait_for_page_load(admin_browser):
1✔
UNCOV
162
        admin_browser.visit(channels_live_server.url + url)
1✔
163

UNCOV
164
    rok = admin_browser.find_by_id("id_rok")
1✔
UNCOV
165
    punkty_kbn = admin_browser.find_by_id("id_punkty_kbn")
1✔
166

UNCOV
167
    assert rok.value == str(CURRENT_YEAR)
1✔
UNCOV
168
    assert punkty_kbn.value == "5.00"
1✔
169

UNCOV
170
    button = admin_browser.find_by_id("id_wypelnij_pola_punktacji_button")
1✔
171

UNCOV
172
    proper_click_element(admin_browser, button)
1✔
173

UNCOV
174
    wait_for(lambda: button.value == "Wypełniona!")
1✔
UNCOV
175
    wait_for(lambda: punkty_kbn.value == "10.20")
1✔
176

UNCOV
177
    trigger_event(rok, "change")
1✔
178
    # Po zmianie roku LUB źródła przycisk ma się zmienić
UNCOV
179
    wait_for(lambda: button.value == "Wypełnij pola punktacji")
1✔
180

181
    # Zwiększymy rok o 1 i sprawdzimy, czy zmieni się punktacja
UNCOV
182
    admin_browser.fill("rok", str(CURRENT_YEAR + 1))
1✔
183

UNCOV
184
    button = admin_browser.find_by_id("id_wypelnij_pola_punktacji_button")
1✔
UNCOV
185
    proper_click_element(admin_browser, button)
1✔
UNCOV
186
    wait_for(lambda: punkty_kbn.value == "11.20")
1✔
187

188
    # Teraz usuniemy źródło i sprawdzimy, czy przycisk zmieni nazwę
UNCOV
189
    assert button.value == "Wypełniona!"
1✔
190

UNCOV
191
    select_select2_clear_selection(admin_browser, "id_zrodlo")
1✔
UNCOV
192
    WebDriverWait(admin_browser.driver, SHORT_WAIT_TIME).until(
1✔
193
        lambda browser: admin_browser.find_by_id(
194
            "id_wypelnij_pola_punktacji_button"
195
        ).value
196
        == "Wypełnij pola punktacji"
197
    )
198

UNCOV
199
    admin_browser.execute_script("window.onbeforeunload = function(e) {};")
1✔
200

201

UNCOV
202
def test_upload_punkty(admin_browser, channels_live_server):
1✔
UNCOV
203
    any_zrodlo(nazwa="WTF LOL")
1✔
204

UNCOV
205
    url = reverse("admin:bpp_wydawnictwo_ciagle_add")
1✔
UNCOV
206
    admin_browser.visit(channels_live_server.url + url)
1✔
207

UNCOV
208
    select_select2_autocomplete(admin_browser, "id_zrodlo", "WTF")
1✔
209

UNCOV
210
    rok = admin_browser.find_by_id("id_rok")
1✔
UNCOV
211
    show_element(admin_browser, rok)
1✔
UNCOV
212
    admin_browser.fill("rok", str(CURRENT_YEAR))
1✔
213

UNCOV
214
    show_element(admin_browser, admin_browser.find_by_id("id_impact_factor"))
1✔
UNCOV
215
    admin_browser.fill("impact_factor", "1")
1✔
216

UNCOV
217
    elem = admin_browser.find_by_id("id_dodaj_punktacje_do_zrodla_button")
1✔
UNCOV
218
    show_element(admin_browser, elem)
1✔
UNCOV
219
    elem.click()
1✔
220

UNCOV
221
    WebDriverWait(admin_browser.driver, SHORT_WAIT_TIME).until(
1✔
222
        lambda browser: Punktacja_Zrodla.objects.count() == 1
223
    )
UNCOV
224
    assert Punktacja_Zrodla.objects.all()[0].impact_factor == 1
1✔
225

UNCOV
226
    admin_browser.fill("impact_factor", "2")
1✔
UNCOV
227
    proper_click_by_id(admin_browser, "id_dodaj_punktacje_do_zrodla_button")
1✔
228

UNCOV
229
    WebDriverWait(admin_browser.driver, SHORT_WAIT_TIME).until(alert_is_present())
1✔
UNCOV
230
    assertPopupContains(admin_browser, "Punktacja dla tego roku już istnieje")
1✔
UNCOV
231
    WebDriverWait(admin_browser.driver, SHORT_WAIT_TIME).until(
1✔
232
        lambda browser: not alert_is_present()(browser)
233
    )
234

UNCOV
235
    WebDriverWait(admin_browser.driver, SHORT_WAIT_TIME).until(
1✔
236
        lambda browser: Punktacja_Zrodla.objects.all()[0].impact_factor == 2
237
    )
238

UNCOV
239
    admin_browser.execute_script("window.onbeforeunload = function(e) {};")
1✔
240

241

UNCOV
242
@pytest.fixture
1✔
UNCOV
243
def autorform_jednostka(db):
1✔
UNCOV
244
    with transaction.atomic():
1✔
UNCOV
245
        a = any_autor(nazwisko="KOWALSKI", imiona="Jan Sebastian")
1✔
UNCOV
246
        j = any_jednostka(nazwa="WTF LOL")
1✔
UNCOV
247
        j.dodaj_autora(a)
1✔
UNCOV
248
    return j
1✔
249

250

UNCOV
251
@pytest.fixture
1✔
UNCOV
252
def autorform_browser(admin_browser, db, channels_live_server):
1✔
UNCOV
253
    url = reverse("admin:bpp_wydawnictwo_ciagle_add")
1✔
UNCOV
254
    with wait_for_page_load(admin_browser):
1✔
UNCOV
255
        admin_browser.visit(channels_live_server.url + url)
1✔
256

UNCOV
257
    admin_browser.execute_script("window.onbeforeunload = function(e) {};")
1✔
UNCOV
258
    return admin_browser
1✔
259

260

UNCOV
261
def test_autorform_uzupelnianie_jednostki(autorform_browser, autorform_jednostka):
1✔
UNCOV
262
    add_extra_autor_inline(autorform_browser)
1✔
263

UNCOV
264
    select_select2_autocomplete(autorform_browser, "id_autorzy_set-0-autor", "KOWALSKI")
1✔
265

UNCOV
266
    autorform_browser.find_by_id("id_autorzy_set-0-jednostka")
1✔
UNCOV
267
    WebDriverWait(autorform_browser, SHORT_WAIT_TIME).until(
1✔
268
        lambda browser: autorform_browser.find_by_id("id_autorzy_set-0-jednostka").value
269
        == str(autorform_jednostka.pk)
270
    )
271

272

UNCOV
273
def find_autocomplete_widget(browser, id):
1✔
274
    for elem in browser.find_by_css(".yourlabs-autocomplete"):
×
275
        try:
×
276
            dii = elem["data-input-id"]
×
277
        except KeyError:
×
278
            continue
×
279

280
        if dii == id:
×
281
            return elem
×
282

283

UNCOV
284
def test_autorform_kasowanie_autora(autorform_browser, autorform_jednostka):
1✔
285
    # kliknij "dodaj powiazanie autor-wydawnictwo"
UNCOV
286
    add_extra_autor_inline(autorform_browser)
1✔
287

288
    # uzupełnij autora
UNCOV
289
    select_select2_autocomplete(autorform_browser, "id_autorzy_set-0-autor", "KOW")
1✔
290

UNCOV
291
    def jednostka_ustawiona():
1✔
UNCOV
292
        jed = autorform_browser.find_by_id("id_autorzy_set-0-jednostka")
1✔
UNCOV
293
        if jed.value != "":
1✔
UNCOV
294
            return jed.value
1✔
295

UNCOV
296
    wait_for(jednostka_ustawiona)
1✔
297

298
    # Jednostka ustawiona. Usuń autora:
UNCOV
299
    select_select2_clear_selection(autorform_browser, "id_autorzy_set-0-autor")
1✔
300

301
    # jednostka nie jest wybrana
UNCOV
302
    try:
1✔
UNCOV
303
        WebDriverWait(autorform_browser.driver, SHORT_WAIT_TIME).until(
1✔
304
            lambda browser: autorform_browser.find_by_id(
305
                "id_autorzy_set-0-jednostka"
306
            ).value.find("\n")
307
            != -1
308
        )
309
    except TimeoutException as e:
×
310
        raise e
×
311
    #  assert jed.value.find("\n") != -1
312

UNCOV
313
    autorform_browser.execute_script("window.onbeforeunload = function(e) {};")
1✔
314

315

UNCOV
316
def test_bug_on_user_add(admin_browser, channels_live_server):
1✔
UNCOV
317
    admin_browser.visit(channels_live_server.url + reverse("admin:bpp_bppuser_add"))
1✔
UNCOV
318
    admin_browser.fill("username", "as")
1✔
UNCOV
319
    admin_browser.fill("password1", "as")
1✔
UNCOV
320
    admin_browser.fill("password2", "as")
1✔
UNCOV
321
    with wait_for_page_load(admin_browser):
1✔
UNCOV
322
        admin_browser.find_by_name("_continue").click()
1✔
323

UNCOV
324
    admin_browser.wait_for_condition(lambda browser: "Zmień użytkownik" in browser.html)
1✔
325

326

UNCOV
327
@pytest.mark.django_db
1✔
UNCOV
328
def test_admin_wydawnictwo_zwarte_uzupelnij_rok(
1✔
329
    wydawnictwo_zwarte, admin_browser, channels_live_server, transactional_db
330
):
331
    """
332
    :type admin_browser: splinter.driver.webdriver.remote.WebDriver
333
    """
334

UNCOV
335
    browser = admin_browser
1✔
336

UNCOV
337
    browser.visit(
1✔
338
        channels_live_server.url + reverse("admin:bpp_wydawnictwo_zwarte_add")
339
    )
340

UNCOV
341
    rok = browser.find_by_id("id_rok")
1✔
UNCOV
342
    button = browser.find_by_id("id_rok_button")
1✔
343

UNCOV
344
    assert rok.value == ""
1✔
345

UNCOV
346
    browser.fill("miejsce_i_rok", "Lublin 2002")
1✔
347

UNCOV
348
    proper_click_element(browser, button)
1✔
349

UNCOV
350
    browser.wait_for_condition(
1✔
351
        lambda browser: browser.find_by_id("id_rok").value == "2002"
352
    )
353

UNCOV
354
    chf = Charakter_Formalny.objects.create(
1✔
355
        nazwa="charakter", skrot="ch", charakter_ogolny=CHARAKTER_OGOLNY_KSIAZKA
356
    )
357

UNCOV
358
    wydawnictwo_zwarte.rok = 1997
1✔
UNCOV
359
    wydawnictwo_zwarte.charakter_formalny = chf
1✔
UNCOV
360
    wydawnictwo_zwarte.save()
1✔
361

UNCOV
362
    select_select2_autocomplete(
1✔
363
        browser, "id_wydawnictwo_nadrzedne", "Wydawnictwo Zwarte"
364
    )
365

UNCOV
366
    browser.fill("rok", "")
1✔
UNCOV
367
    proper_click_element(browser, button)
1✔
UNCOV
368
    browser.wait_for_condition(
1✔
369
        lambda browser: browser.find_by_id("id_rok").value == "2002"
370
    )
371

UNCOV
372
    browser.fill("miejsce_i_rok", "")
1✔
UNCOV
373
    proper_click_element(browser, button)
1✔
UNCOV
374
    browser.wait_for_condition(
1✔
375
        lambda browser: browser.find_by_id("id_rok").value == "1997"
376
    )
377

378

UNCOV
379
def test_admin_wydawnictwo_ciagle_uzupelnij_rok(admin_browser, channels_live_server):
1✔
380
    """
381
    :type admin_browser: splinter.driver.webdriver.remote.WebDriver
382
    """
383

UNCOV
384
    browser = admin_browser
1✔
385

UNCOV
386
    with wait_for_page_load(browser):
1✔
UNCOV
387
        browser.visit(
1✔
388
            channels_live_server.url + reverse("admin:bpp_wydawnictwo_ciagle_add")
389
        )
UNCOV
390
    browser.fill("informacje", "Lublin 2002 test")
1✔
UNCOV
391
    elem = browser.find_by_id("id_rok_button")
1✔
UNCOV
392
    proper_click_element(browser, elem)
1✔
393

UNCOV
394
    browser.wait_for_condition(
1✔
395
        lambda browser: browser.find_by_id("id_rok").value == "2002"
396
    )
397

UNCOV
398
    browser.fill("informacje", "")
1✔
UNCOV
399
    proper_click_by_id(browser, "id_rok_button")
1✔
UNCOV
400
    browser.wait_for_condition(
1✔
401
        lambda browser: browser.find_by_id("id_rok_button").value == "Brak danych"
402
    )
403

404

UNCOV
405
def test_admin_wydawnictwo_ciagle_dowolnie_zapisane_nazwisko(
1✔
406
    admin_browser, channels_live_server, autor_jan_kowalski
407
):
408
    """
409
    :type admin_browser: splinter.driver.webdriver.remote.WebDriver
410
    """
411

UNCOV
412
    browser = admin_browser
1✔
413

UNCOV
414
    with wait_for_page_load(browser):
1✔
UNCOV
415
        browser.visit(
1✔
416
            channels_live_server.url + reverse("admin:bpp_wydawnictwo_ciagle_add")
417
        )
418

UNCOV
419
    xp1 = "/html/body/div[2]/article/div/form/div/div[1]/ul/li/a"
1✔
UNCOV
420
    wait_for(lambda: len(browser.find_by_xpath(xp1)) > 0)
1✔
UNCOV
421
    elem = browser.find_by_xpath(xp1)
1✔
UNCOV
422
    proper_click_element(browser, elem[0])
1✔
423

UNCOV
424
    element = browser.find_by_xpath(
1✔
425
        "/html/body/div[2]/article/div/form/div/div[1]/div[2]/div/a"
426
    )
UNCOV
427
    proper_click_element(browser, element)
1✔
428
    # scroll_into_view()
UNCOV
429
    wait_for(
1✔
430
        lambda: browser.find_by_id("id_autorzy_set-0-autor"),
431
        max_seconds=SHORT_WAIT_TIME,
432
    )
433

UNCOV
434
    select_select2_autocomplete(browser, "id_autorzy_set-0-autor", "Kowalski Jan")
1✔
435

UNCOV
436
    select_select2_autocomplete(
1✔
437
        browser, "id_autorzy_set-0-zapisany_jako", "Dowolny tekst"
438
    )
439

UNCOV
440
    if browser.find_by_id("id_autorzy_set-0-zapisany_jako").value != "Dowolny tekst":
1✔
441
        print("1")  # for debugging
×
442

UNCOV
443
    assert browser.find_by_id("id_autorzy_set-0-zapisany_jako").value == "Dowolny tekst"
1✔
444

445

UNCOV
446
@pytest.mark.parametrize("expected", [True, False])
1✔
UNCOV
447
@pytest.mark.parametrize(
1✔
448
    "url",
449
    ["wydawnictwo_ciagle", "wydawnictwo_zwarte", "patent"],
450
)
UNCOV
451
def test_admin_domyslnie_afiliuje_nowy_rekord(
1✔
452
    admin_browser,
453
    channels_live_server,
454
    url,
455
    expected,
456
):
457
    # twórz nowy obiekt, nie używaj z fixtury, bo db i transactional_db
UNCOV
458
    baker.make(Uczelnia, domyslnie_afiliuje=expected)
1✔
459

UNCOV
460
    browser = admin_browser
1✔
UNCOV
461
    with wait_for_page_load(browser):
1✔
UNCOV
462
        browser.visit(channels_live_server.url + reverse(f"admin:bpp_{url}_add"))
1✔
463

UNCOV
464
    add_extra_autor_inline(browser)
1✔
465

UNCOV
466
    v = browser.find_by_id("id_autorzy_set-0-afiliuje")
1✔
UNCOV
467
    assert v.checked == expected
1✔
468

469

UNCOV
470
@pytest.mark.parametrize("afiliowany", [True, False])
1✔
UNCOV
471
@pytest.mark.parametrize("expected", [True, False])
1✔
UNCOV
472
@pytest.mark.parametrize(
1✔
473
    "url,klasa",
474
    [
475
        ("wydawnictwo_ciagle", Wydawnictwo_Ciagle),
476
        ("wydawnictwo_zwarte", Wydawnictwo_Zwarte),
477
        ("patent", Patent),
478
    ],
479
)
480
# @pytest.mark.django_db(transaction=True)
UNCOV
481
def test_admin_domyslnie_afiliuje_istniejacy_rekord(
1✔
482
    admin_browser, channels_live_server, url, klasa, expected, afiliowany, denorms
483
):
484
    # twórz nowy obiekt, nie używaj z fixtury, bo db i transactional_db
UNCOV
485
    baker.make(Uczelnia, domyslnie_afiliuje=expected)
1✔
UNCOV
486
    autor = baker.make(Autor, nazwisko="Kowal", imiona="Ski")
1✔
UNCOV
487
    jednostka = baker.make(Jednostka, nazwa="Lol", skrot="WT")
1✔
UNCOV
488
    wydawnictwo = baker.make(klasa, tytul_oryginalny="test")
1✔
UNCOV
489
    Typ_Odpowiedzialnosci.objects.get_or_create(
1✔
490
        skrot="aut.", nazwa="autor", typ_ogolny=TO_AUTOR
491
    )
UNCOV
492
    wa = wydawnictwo.dodaj_autora(autor, jednostka, zapisany_jako="Wutlolski")
1✔
UNCOV
493
    wa.afiliowany = afiliowany
1✔
UNCOV
494
    wa.save()
1✔
495

UNCOV
496
    browser = admin_browser
1✔
UNCOV
497
    with wait_for_page_load(browser):
1✔
UNCOV
498
        browser.visit(
1✔
499
            channels_live_server.url
500
            + reverse(f"admin:bpp_{url}_change", args=(wydawnictwo.pk,))
501
        )
502

UNCOV
503
    add_extra_autor_inline(browser)
1✔
504

UNCOV
505
    v = browser.find_by_id("id_autorzy_set-1-afiliuje")
1✔
UNCOV
506
    assert v.checked == expected
1✔
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