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

iplweb / bpp / 7d423bde-8caf-4c8b-8bf5-12ad3f831949

22 Aug 2025 01:06PM UTC coverage: 45.781% (+0.06%) from 45.719%
7d423bde-8caf-4c8b-8bf5-12ad3f831949

push

circleci

mpasternak
Merge branch 'release/v202508.1201'

11 of 18 new or added lines in 3 files covered. (61.11%)

1245 existing lines in 104 files now uncovered.

17481 of 38184 relevant lines covered (45.78%)

1.18 hits per line

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

69.09
src/conftest.py
1
from datetime import timedelta
3✔
2
from uuid import uuid4
3✔
3

4
import pytest
3✔
5
from django.apps import apps
3✔
6
from model_bakery import baker
3✔
7

8
from django.utils import timezone
3✔
9

10
pytest.mark.uruchom_tylko_bez_microsoft_auth = pytest.mark.skipif(
3✔
11
    apps.is_installed("microsoft_auth"),
12
    reason="działa wyłącznie bez django_microsoft_auth. Ta "
13
    "funkcja prawdopodobnie potrzebuje zalogowac do systemu zwykłego "
14
    "użytkownika i nie potrzebuje autoryzacji do niczego więcej. "
15
    "Możesz ją spokojnie przetestować z wyłączonym modułem microsoft_auth",
16
)
17

18

19
@pytest.fixture
3✔
20
def pbn_dyscyplina2(db, pbn_discipline_group):
3✔
UNCOV
21
    from pbn_api.models import Discipline
1✔
22

UNCOV
23
    return Discipline.objects.get_or_create(
1✔
24
        parent_group=pbn_discipline_group,
25
        uuid=uuid4(),
26
        code="202",
27
        name="druga dyscyplina",
28
        scientificFieldName="Dziedzina drugich dyscyplin",
29
    )[0]
30

31

32
@pytest.fixture
3✔
33
def pbn_discipline_group(db):
3✔
UNCOV
34
    from pbn_api.models import DisciplineGroup
2✔
35

UNCOV
36
    n = timezone.now().date()
2✔
UNCOV
37
    try:
2✔
UNCOV
38
        return DisciplineGroup.objects.get_or_create(
2✔
39
            validityDateTo=None,
40
            validityDateFrom=n - timedelta(days=7),
41
            defaults=dict(uuid=uuid4()),
42
        )[0]
43
    except DisciplineGroup.MultipleObjectsReturned:
×
44
        return DisciplineGroup.objects.filter(
×
45
            validityDateTo=None,
46
            validityDateFrom=n - timedelta(days=7),
47
        ).first()
48

49

50
@pytest.fixture
3✔
51
def pbn_dyscyplina1(db, pbn_discipline_group):
3✔
UNCOV
52
    from pbn_api.models import Discipline
2✔
53

UNCOV
54
    return Discipline.objects.get_or_create(
2✔
55
        parent_group=pbn_discipline_group,
56
        code="301",
57
        name="memetyka stosowana",
58
        scientificFieldName="Dziedzina memetyk",
59
        defaults=dict(uuid=uuid4()),
60
    )[0]
61

62

63
@pytest.fixture
3✔
64
@pytest.mark.django_db
3✔
65
def zwarte_z_dyscyplinami(
3✔
66
    wydawnictwo_zwarte,
67
    autor_jan_nowak,
68
    autor_jan_kowalski,
69
    jednostka,
70
    dyscyplina1,
71
    dyscyplina2,
72
    charaktery_formalne,
73
    wydawca,
74
    typy_odpowiedzialnosci,
75
    rok,
76
):
77
    from bpp.models import Autor_Dyscyplina, Charakter_Formalny
×
78

79
    # Żeby eksportować oświadczenia, autor musi mieć swój odpowiednik w PBNie:
80
    autor_jan_nowak.pbn_uid = baker.make("pbn_api.Scientist")
×
81
    autor_jan_nowak.save()
×
82

83
    autor_jan_kowalski.pbn_uid = baker.make("pbn_api.Scientist")
×
84
    autor_jan_kowalski.save()
×
85

86
    # Musi miec też przypisania do dyscyplin
87
    Autor_Dyscyplina.objects.create(
×
88
        autor=autor_jan_nowak, dyscyplina_naukowa=dyscyplina1, rok=rok
89
    )
90
    Autor_Dyscyplina.objects.create(
×
91
        autor=autor_jan_kowalski, dyscyplina_naukowa=dyscyplina2, rok=rok
92
    )
93
    wydawnictwo_zwarte.dodaj_autora(
×
94
        autor_jan_nowak, jednostka, dyscyplina_naukowa=dyscyplina1
95
    )
96

97
    wydawnictwo_zwarte.dodaj_autora(
×
98
        autor_jan_kowalski, jednostka, dyscyplina_naukowa=dyscyplina2
99
    )
100

101
    # domyslnie: ksiazka/autorstwo/wydawca spoza wykazu
102
    wydawnictwo_zwarte.punkty_kbn = 20
×
103
    wydawnictwo_zwarte.wydawca = wydawca
×
104
    wydawnictwo_zwarte.charakter_formalny = Charakter_Formalny.objects.get(skrot="KSP")
×
105
    wydawnictwo_zwarte.save()
×
106

107
    return wydawnictwo_zwarte
×
108

109

110
def _dyscyplina_maker(nazwa, kod, dyscyplina_pbn):
3✔
111
    """Produkuje dyscypliny naukowe WRAZ z odpowiednim wpisem tłumacza
112
    dyscyplin"""
UNCOV
113
    from pbn_api.models import TlumaczDyscyplin
2✔
114

UNCOV
115
    from bpp.models import Dyscyplina_Naukowa
2✔
116

UNCOV
117
    d = Dyscyplina_Naukowa.objects.get_or_create(nazwa=nazwa, kod=kod)[0]
2✔
UNCOV
118
    TlumaczDyscyplin.objects.get_or_create(
2✔
119
        dyscyplina_w_bpp=d,
120
        pbn_2017_2021=dyscyplina_pbn,
121
        pbn_2022_2023=dyscyplina_pbn,
122
        pbn_2024_now=dyscyplina_pbn,
123
    )
UNCOV
124
    return d
2✔
125

126

127
@pytest.fixture
3✔
128
def dyscyplina1(db, pbn_dyscyplina1):
3✔
UNCOV
129
    return _dyscyplina_maker(
2✔
130
        nazwa="memetyka stosowana", kod="3.1", dyscyplina_pbn=pbn_dyscyplina1
131
    )
132

133

134
@pytest.fixture
3✔
135
def dyscyplina1_hst(db, pbn_dyscyplina1_hst):
3✔
136
    return _dyscyplina_maker(
×
137
        nazwa="nauka teologiczna", kod="7.1", dyscyplina_pbn=pbn_dyscyplina1_hst
138
    )
139

140

141
@pytest.fixture
3✔
142
def dyscyplina2(db, pbn_dyscyplina2):
3✔
UNCOV
143
    return _dyscyplina_maker(
1✔
144
        nazwa="druga dyscyplina", kod="2.2", dyscyplina_pbn=pbn_dyscyplina2
145
    )
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