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

iplweb / bpp / d739ad7a-8bce-4087-b0c8-83f9ea367ad1

18 Feb 2025 12:47AM UTC coverage: 48.187% (+0.7%) from 47.492%
d739ad7a-8bce-4087-b0c8-83f9ea367ad1

push

circleci

mpasternak
Merge branch 'release/v202502.1157'

172 of 381 new or added lines in 31 files covered. (45.14%)

802 existing lines in 49 files now uncovered.

17072 of 35429 relevant lines covered (48.19%)

1.23 hits per line

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

0.0
src/pbn_api/tests/test_bpp_admin_helpers.py
1
import pytest
×
2
from model_bakery import baker
×
3

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

15
from django.contrib.messages import get_messages
×
16

NEW
17
from bpp.admin.helpers import sprobuj_wgrac_do_pbn_gui
×
18
from bpp.models import Charakter_Formalny
×
19

20

21
@pytest.mark.django_db
×
22
def test_sprobuj_wgrac_do_pbn_charakter_zly(
×
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):
×
NEW
33
        sprobuj_wgrac_do_pbn_gui(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

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

46
    with middleware(req):
×
NEW
47
        sprobuj_wgrac_do_pbn_gui(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

54
@pytest.mark.django_db
×
55
def test_sprobuj_wgrac_do_pbn_uczelnia_integracja_wylaczona(
×
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):
×
NEW
65
        sprobuj_wgrac_do_pbn_gui(req, pbn_wydawnictwo_zwarte_z_charakterem)
×
66

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

70

71
@pytest.mark.django_db
×
72
def test_sprobuj_wgrac_do_pbn_dane_juz_wyslane(
×
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):
×
NEW
83
        sprobuj_wgrac_do_pbn_gui(
×
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

91
@pytest.mark.django_db
×
92
def test_sprobuj_wgrac_do_pbn_access_denied(
×
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):
×
NEW
102
        sprobuj_wgrac_do_pbn_gui(
×
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

110
@pytest.mark.django_db
×
111
def test_sprobuj_wgrac_do_pbn_inny_exception(
×
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):
×
NEW
119
        sprobuj_wgrac_do_pbn_gui(
×
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

127
@pytest.mark.django_db
×
128
def test_sprobuj_wgrac_do_pbn_inny_blad(
×
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):
×
NEW
136
        sprobuj_wgrac_do_pbn_gui(
×
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

144
@pytest.mark.django_db
×
145
def test_sprobuj_wgrac_do_pbn_sukces(
×
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):
×
NEW
159
        sprobuj_wgrac_do_pbn_gui(
×
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