Skip to content

Commit

Permalink
add unit test coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
mackenzie-grimes-noaa committed Jan 1, 2025
1 parent 12d3a06 commit 39b4b0a
Showing 1 changed file with 29 additions and 2 deletions.
31 changes: 29 additions & 2 deletions python/nwsc_proxy/test/test_ncp_web_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,14 +160,41 @@ def test_get_new_profiles(wrapper: AppWrapper, mock_request: Mock, mock_profile_
assert mark_existing_call_args[0][1][0] == example_profile['id']


def test_create_profile_success(wrapper: AppWrapper, mock_request: Mock, mock_profile_store: Mock):
def test_create_profile_new(wrapper: AppWrapper, mock_request: Mock, mock_profile_store: Mock):
mock_request.method = 'POST'
mock_request.json = {'id': EXAMPLE_UUID, 'name': 'My Profile'}
example_profile = {'id': EXAMPLE_UUID, 'name': 'My Profile'}
mock_request.json = {'status': 'new', 'data': example_profile}
mock_profile_store.return_value.save.return_value = EXAMPLE_UUID # save() success

result: tuple[Response, int] = wrapper.app.view_functions['events']()

assert result[1] == 201
# should have saved profile with is_new: True
mock_profile_store.return_value.save.assert_called_once_with(example_profile, True)


def test_create_profile_existing(wrapper: AppWrapper, mock_request: Mock, mock_profile_store: Mock):
mock_request.method = 'POST'
example_profile = {'id': EXAMPLE_UUID, 'name': 'My Profile'}
mock_request.json = {'status': 'existing', 'data': example_profile}
mock_profile_store.return_value.save.return_value = EXAMPLE_UUID # save() success

result: tuple[Response, int] = wrapper.app.view_functions['events']()

assert result[1] == 201
# should have saved profile with is_new: False
mock_profile_store.return_value.save.assert_called_once_with(example_profile, False)


def test_create_profile_invalid(wrapper: AppWrapper, mock_request: Mock, mock_profile_store: Mock):
mock_request.method = 'POST'
example_profile = {'id': EXAMPLE_UUID, 'name': 'My Profile'}
mock_request.json = {'status': 'foobar', 'data': example_profile}

result: tuple[Response, int] = wrapper.app.view_functions['events']()

assert result[1] == 400
mock_profile_store.return_value.save.assert_not_called()


def test_create_previous_profile_failure(wrapper: AppWrapper,
Expand Down

0 comments on commit 39b4b0a

Please sign in to comment.