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

iplweb / bpp / 69252c38-21b1-49f8-98a5-a21d59416a66

17 Feb 2025 01:27AM UTC coverage: 47.492% (+0.7%) from 46.838%
69252c38-21b1-49f8-98a5-a21d59416a66

push

circleci

mpasternak
Merge branch 'release/v202502.1156'

2 of 8 new or added lines in 3 files covered. (25.0%)

2233 existing lines in 114 files now uncovered.

16671 of 35103 relevant lines covered (47.49%)

1.2 hits per line

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

34.62
src/pbn_api/tests/test_bpp_admin_helpers.py
UNCOV
1
import pytest
1✔
UNCOV
2
from model_bakery import baker
1✔
3

UNCOV
4
from fixtures.pbn_api import MOCK_RETURNED_MONGODB_DATA
1✔
UNCOV
5
from pbn_api.adapters.wydawnictwo import WydawnictwoPBNAdapter
1✔
UNCOV
6
from pbn_api.client import (
1✔
7
    PBN_GET_INSTITUTION_STATEMENTS,
8
    PBN_GET_PUBLICATION_BY_ID_URL,
9
    PBN_POST_PUBLICATIONS_URL,
10
)
UNCOV
11
from pbn_api.exceptions import AccessDeniedException
1✔
UNCOV
12
from pbn_api.models import SentData
1✔
UNCOV
13
from pbn_api.tests.utils import middleware
1✔
14

UNCOV
15
from django.contrib.messages import get_messages
1✔
16

UNCOV
17
from bpp.admin.helpers import sprobuj_wgrac_do_pbn
1✔
UNCOV
18
from bpp.models import Charakter_Formalny
1✔
19

20

UNCOV
21
@pytest.mark.django_db
1✔
UNCOV
22
def test_sprobuj_wgrac_do_pbn_charakter_zly(
1✔
23
    rf,
24
    pbn_wydawnictwo_zwarte,
25
):
26
    req = rf.get("/")
×
27

28
    pbn_wydawnictwo_zwarte.charakter_formalny = baker.make(
×
29
        Charakter_Formalny, rodzaj_pbn=None
30
    )
31

32
    with middleware(req):
×
33
        sprobuj_wgrac_do_pbn(req, pbn_wydawnictwo_zwarte)
×
34

35
    msg = get_messages(req)
×
36

37
    assert "nie będzie eksportowany do PBN" in list(msg)[0].message
×
38

39

UNCOV
40
@pytest.mark.django_db
1✔
UNCOV
41
def test_sprobuj_wgrac_do_pbn_uczelnia_brak_obiektu(
1✔
42
    rf, pbn_wydawnictwo_zwarte_z_charakterem
43
):
44
    req = rf.get("/")
×
45

46
    with middleware(req):
×
47
        sprobuj_wgrac_do_pbn(req, pbn_wydawnictwo_zwarte_z_charakterem)
×
48

49
    msg = get_messages(req)
×
50

51
    assert 'w systemie brakuje obiektu "Uczelnia"' in list(msg)[0].message
×
52

53

UNCOV
54
@pytest.mark.django_db
1✔
UNCOV
55
def test_sprobuj_wgrac_do_pbn_uczelnia_integracja_wylaczona(
1✔
56
    rf, pbn_wydawnictwo_zwarte_z_charakterem, uczelnia
57
):
58
    req = rf.get("/")
×
59

60
    uczelnia.pbn_integracja = False
×
61
    uczelnia.pbn_aktualizuj_na_biezaco = False
×
62
    uczelnia.save()
×
63

64
    with middleware(req):
×
65
        sprobuj_wgrac_do_pbn(req, pbn_wydawnictwo_zwarte_z_charakterem)
×
66

67
    msg = get_messages(req)
×
68
    assert len(msg) == 0
×
69

70

UNCOV
71
@pytest.mark.django_db
1✔
UNCOV
72
def test_sprobuj_wgrac_do_pbn_dane_juz_wyslane(
1✔
73
    pbn_wydawnictwo_zwarte_z_charakterem, pbn_uczelnia, pbn_client, rf
74
):
75
    SentData.objects.updated(
×
76
        pbn_wydawnictwo_zwarte_z_charakterem,
77
        WydawnictwoPBNAdapter(pbn_wydawnictwo_zwarte_z_charakterem).pbn_get_json(),
78
    )
79

80
    req = rf.get("/")
×
81

82
    with middleware(req):
×
83
        sprobuj_wgrac_do_pbn(
×
84
            req, pbn_wydawnictwo_zwarte_z_charakterem, pbn_client=pbn_client
85
        )
86

87
    msg = get_messages(req)
×
88
    assert "Identyczne dane rekordu" in list(msg)[0].message
×
89

90

UNCOV
91
@pytest.mark.django_db
1✔
UNCOV
92
def test_sprobuj_wgrac_do_pbn_access_denied(
1✔
93
    pbn_wydawnictwo_zwarte_z_charakterem, pbn_client, rf, pbn_uczelnia
94
):
95
    req = rf.get("/")
×
96

97
    pbn_client.transport.return_values[
×
98
        PBN_POST_PUBLICATIONS_URL
99
    ] = AccessDeniedException(url="foo", content="testujemy")
100

101
    with middleware(req):
×
102
        sprobuj_wgrac_do_pbn(
×
103
            req, pbn_wydawnictwo_zwarte_z_charakterem, pbn_client=pbn_client
104
        )
105

106
    msg = get_messages(req)
×
107
    assert "Brak dostępu --" in list(msg)[0].message
×
108

109

UNCOV
110
@pytest.mark.django_db
1✔
UNCOV
111
def test_sprobuj_wgrac_do_pbn_inny_exception(
1✔
112
    pbn_wydawnictwo_zwarte_z_charakterem, pbn_client, rf, pbn_uczelnia
113
):
114
    req = rf.get("/")
×
115

116
    pbn_client.transport.return_values[PBN_POST_PUBLICATIONS_URL] = ZeroDivisionError
×
117

118
    with middleware(req):
×
119
        sprobuj_wgrac_do_pbn(
×
120
            req, pbn_wydawnictwo_zwarte_z_charakterem, pbn_client=pbn_client
121
        )
122

123
    msg = get_messages(req)
×
124
    assert "Nie można zsynchronizować" in list(msg)[0].message
×
125

126

UNCOV
127
@pytest.mark.django_db
1✔
UNCOV
128
def test_sprobuj_wgrac_do_pbn_inny_blad(
1✔
129
    pbn_wydawnictwo_zwarte_z_charakterem, pbn_client, rf, pbn_uczelnia
130
):
131
    req = rf.get("/")
×
132

133
    pbn_client.transport.return_values[PBN_POST_PUBLICATIONS_URL] = Exception("test")
×
134

135
    with middleware(req):
×
136
        sprobuj_wgrac_do_pbn(
×
137
            req, pbn_wydawnictwo_zwarte_z_charakterem, pbn_client=pbn_client
138
        )
139

140
    msg = get_messages(req)
×
141
    assert "Nie można zsynchronizować" in list(msg)[0].message
×
142

143

UNCOV
144
@pytest.mark.django_db
1✔
UNCOV
145
def test_sprobuj_wgrac_do_pbn_sukces(
1✔
146
    pbn_wydawnictwo_zwarte_z_charakterem, pbn_client, rf, pbn_uczelnia
147
):
148
    req = rf.get("/")
×
149

150
    pbn_client.transport.return_values[PBN_POST_PUBLICATIONS_URL] = {"objectId": "123"}
×
151
    pbn_client.transport.return_values[
×
152
        PBN_GET_PUBLICATION_BY_ID_URL.format(id="123")
153
    ] = MOCK_RETURNED_MONGODB_DATA
154
    pbn_client.transport.return_values[
×
155
        PBN_GET_INSTITUTION_STATEMENTS + "?publicationId=123&size=5120"
156
    ] = []
157

158
    with middleware(req):
×
159
        sprobuj_wgrac_do_pbn(
×
160
            req, pbn_wydawnictwo_zwarte_z_charakterem, pbn_client=pbn_client
161
        )
162

163
    msg = get_messages(req)
×
164
    assert "zostały zaktualizowane" in list(msg)[0].message
×
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