Skip to content

Commit f4f8894

Browse files
committed
fixup tests for moved _create_dandiset_draft_doi
1 parent 14e2d1d commit f4f8894

File tree

3 files changed

+32
-34
lines changed

3 files changed

+32
-34
lines changed

dandiapi/api/tests/test_dandiset.py

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from dandiapi.api.asset_paths import add_asset_paths, add_version_asset_paths
1010
from dandiapi.api.models import Dandiset, Version
11-
from dandiapi.api.services.dandiset import _create_dandiset_draft_doi, update_draft_version_doi
11+
from dandiapi.api.services.dandiset import update_draft_version_doi
1212
from dandiapi.api.services.permissions.dandiset import (
1313
add_dandiset_owner,
1414
get_dandiset_owners,
@@ -353,21 +353,18 @@ def test_dandiset_rest_embargo_access(
353353

354354

355355
@pytest.mark.django_db
356-
def test_dandiset_rest_create(api_client, user, mocker):
356+
def test_dandiset_rest_create(api_client, user):
357357
user.first_name = 'John'
358358
user.last_name = 'Doe'
359359
user.save()
360360
api_client.force_authenticate(user=user)
361361
name = 'Test Dandiset'
362362
metadata = {'foo': 'bar'}
363363

364-
mock_create_doi = mocker.patch('dandiapi.api.services.dandiset._create_dandiset_draft_doi')
365-
366364
response = api_client.post(
367365
'/api/dandisets/', {'name': name, 'metadata': metadata}, format='json'
368366
)
369367

370-
mock_create_doi.assert_called_once()
371368
assert response.data == {
372369
'identifier': DANDISET_ID_RE,
373370
'created': TIMESTAMP_RE,
@@ -640,12 +637,10 @@ def test_dandiset_rest_create_embargoed(api_client, user, mocker):
640637
api_client.force_authenticate(user=user)
641638
name = 'Test Dandiset'
642639
metadata = {'foo': 'bar'}
643-
mock_create_doi = mocker.patch('dandiapi.api.services.dandiset._create_dandiset_draft_doi')
644640

645641
response = api_client.post(
646642
'/api/dandisets/?embargo=true', {'name': name, 'metadata': metadata}, format='json'
647643
)
648-
mock_create_doi.assert_not_called()
649644
assert response.data == {
650645
'identifier': DANDISET_ID_RE,
651646
'created': TIMESTAMP_RE,
@@ -1363,31 +1358,6 @@ def test_dandiset_list_starred_unauthenticated(api_client):
13631358
assert response.status_code == 401
13641359

13651360

1366-
@pytest.mark.django_db
1367-
def test__create_dandiset_draft_doi(draft_version, mocker):
1368-
"""Test the _create_dandiset_draft_doi function directly."""
1369-
# Set up mocks
1370-
mock_generate_doi = mocker.patch('dandiapi.api.doi.generate_doi_data')
1371-
mock_generate_doi.return_value = ('10.48324/dandi.000123', {'data': {'attributes': {}}})
1372-
1373-
mock_create_doi = mocker.patch('dandiapi.api.doi.create_or_update_doi')
1374-
mock_create_doi.return_value = '10.48324/dandi.000123'
1375-
1376-
# Call the function directly
1377-
_create_dandiset_draft_doi(draft_version)
1378-
1379-
# Verify the mocks were called correctly
1380-
mock_generate_doi.assert_called_once_with(
1381-
draft_version,
1382-
version_doi=False,
1383-
event=None # Draft DOI
1384-
)
1385-
mock_create_doi.assert_called_once_with({'data': {'attributes': {}}})
1386-
1387-
# Verify the DOI was stored in the draft version
1388-
assert draft_version.doi == '10.48324/dandi.000123'
1389-
1390-
13911361
@pytest.mark.django_db
13921362
def test_update_draft_version_doi_no_previous_doi(draft_version, mocker):
13931363
"""Test updating a draft DOI when none exists yet."""

dandiapi/api/tests/test_doi.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
from __future__ import annotations
2+
3+
import pytest
4+
5+
from dandiapi.api.doi import _create_dandiset_draft_doi
6+
7+
8+
@pytest.mark.django_db
9+
def test__create_dandiset_draft_doi(draft_version, mocker):
10+
"""Test the _create_dandiset_draft_doi function directly."""
11+
# Set up mocks
12+
mock_generate_doi = mocker.patch('dandiapi.api.doi.generate_doi_data')
13+
mock_generate_doi.return_value = ('10.48324/dandi.000123', {'data': {'attributes': {}}})
14+
15+
mock_create_doi = mocker.patch('dandiapi.api.doi.create_or_update_doi')
16+
mock_create_doi.return_value = '10.48324/dandi.000123'
17+
18+
# Call the function directly
19+
_create_dandiset_draft_doi(draft_version)
20+
21+
# Verify the mocks were called correctly
22+
mock_generate_doi.assert_called_once_with(
23+
draft_version,
24+
version_doi=False,
25+
event=None # Draft DOI
26+
)
27+
mock_create_doi.assert_called_once_with({'data': {'attributes': {}}})
28+
29+
# Verify the DOI was stored in the draft version
30+
assert draft_version.doi == '10.48324/dandi.000123'

dandiapi/api/tests/test_unembargo.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,6 @@ def test_unembargo_dandiset_validate_version_metadata(
313313
draft_version.save()
314314
draft_version.assets.add(asset_factory())
315315

316-
mock_create_doi = mocker.patch('dandiapi.api.services.embargo._create_dandiset_draft_doi')
317316
# Spy on the imported function in the embargo service
318317
validate_version_spy = mocker.spy(embargo_service, 'validate_version_metadata')
319318

@@ -322,7 +321,6 @@ def test_unembargo_dandiset_validate_version_metadata(
322321
assert validate_version_spy.call_count == 1
323322
draft_version.refresh_from_db()
324323
assert not draft_version.validation_errors
325-
mock_create_doi.assert_called_once()
326324

327325

328326
@pytest.mark.django_db

0 commit comments

Comments
 (0)