Projet

Général

Profil

0001-tests-improve-remote-invoices-notification-code-cove.patch

Serghei Mihai, 31 mai 2018 17:36

Télécharger (2,28 ko)

Voir les différences:

Subject: [PATCH] tests: improve remote invoices notification code coverage
 (#24191)

 tests/test_notification.py | 15 +++++++++++++--
 tox.ini                    |  2 ++
 2 files changed, 15 insertions(+), 2 deletions(-)
tests/test_notification.py
276 276

  
277 277

  
278 278
@mock.patch('combo.utils.requests_wrapper.RequestsSession.request')
279
def test_notify_remote_items(mock_get, app, user, user2, regie):
279
def test_notify_remote_items(mock_get, app, user, user2, regie, monkeypatch):
280 280
    invoice_now = now()
281 281
    creation_date = (invoice_now - timedelta(days=1)).date().isoformat()
282 282
    pay_limit_date = (invoice_now + timedelta(days=20)).date().isoformat()
......
348 348
    mock_response = mock.Mock(status_code=200, content=json.dumps(FAKE_PENDING_INVOICES))
349 349
    mock_response.json.return_value = FAKE_PENDING_INVOICES
350 350
    mock_get.return_value = mock_response
351

  
352
    # make sure the regie is not remote
353
    regie.webservice_url = ''
354
    regie.save()
355

  
351 356
    regie.notify_new_remote_invoices()
352 357
    assert mock_get.call_count == 0
353 358
    regie.webservice_url = 'http://example.org/regie'  # is_remote
354 359
    regie.save()
355 360
    regie.notify_new_remote_invoices()
356
    mock_get.assert_not_called()
361
    mock_get.assert_called_once()
362

  
363
    from combo.apps.lingo import models
364
    monkeypatch.setattr(models, 'UserSAMLIdentifier', None)
365
    regie.notify_new_remote_invoices()
366
    # make sure no other requests calls are made
367
    assert mock_get.call_count == 1
357 368

  
358 369
    with mock.patch('combo.apps.lingo.models.UserSAMLIdentifier') as user_saml:
359 370
        # simulate class exception
tox.ini
23 23
  django-webtest<1.9.3
24 24
  quixote<3.0
25 25
  vobject
26
  django-mellon
26 27
commands =
28
  ./getlasso.sh
27 29
  python manage.py compilemessages
28 30
  py.test {env:COVERAGE:} {posargs:tests/}
29 31
  pylint: ./pylint.sh combo/
30
-