def test_zipfile_unzip(mocker, template, is_url, user_config_data) -> None:
    """Verify zip files correctly handled for different source locations.

    `unzip()` should be called with correct args when `determine_repo_dir()`
    is passed a zipfile, or a URL to a zipfile.
    """
    mock_clone = mocker.patch(
        'cookiecutter.repository.unzip',
        return_value='tests/fake-repo-tmpl',
        autospec=True,
    )

    project_dir, cleanup = repository.determine_repo_dir(
        template,
        abbreviations={},
        clone_to_dir=user_config_data['cookiecutters_dir'],
        checkout=None,
        no_input=True,
        password=None,
    )

    mock_clone.assert_called_once_with(
        zip_uri=template,
        is_url=is_url,
        clone_to_dir=user_config_data['cookiecutters_dir'],
        no_input=True,
        password=None,
    )

    assert os.path.isdir(project_dir)
    assert cleanup
    assert project_dir == 'tests/fake-repo-tmpl'
Verify zip files correctly handled for different source locations.

    `unzip()` should be called with correct args when `determine_repo_dir()`
    is passed a zipfile, or a URL to a zipfile.
    
tests/repository/test_determine_repo_dir_clones_repo.py