def METHOD_NAME(self, tmp_dir, scm, dvc, tmp_path_factory):
    temp = tmp_path_factory.mktemp("external")
    git_remote = temp / "project.git"
    storage_path = temp / "dvc_storage"
    with dvc.config.edit() as conf:
        conf["remote"]["store"] = {"url": os.fspath(storage_path)}
        conf["core"]["remote"] = "store"
    tmp_dir.dvc_gen("file", "file_content", "commit message")
    file_checksum = file_md5("file", dvc.fs)
    expected_storage_path = (
        storage_path / "files" / "md5" / file_checksum[:2] / file_checksum[2:]
    )
    scm.gitpython.repo.clone(os.fspath(git_remote))
    scm.gitpython.repo.create_remote("origin", os.fspath(git_remote))
    dvc.install()
    assert not expected_storage_path.is_file()
    scm.gitpython.repo.git.push("origin", "master")
    assert expected_storage_path.is_file()
    assert expected_storage_path.read_text() == "file_content"