Test force-reinstalling an already-installed extension.
(self, extension_dir, project_dir)
| 1176 | manager.install_from_directory(extension_dir, "0.1.0", register_commands=False) |
| 1177 | |
| 1178 | def test_install_force_reinstall(self, extension_dir, project_dir): |
| 1179 | """Test force-reinstalling an already-installed extension.""" |
| 1180 | manager = ExtensionManager(project_dir) |
| 1181 | |
| 1182 | # Install once |
| 1183 | manager.install_from_directory( |
| 1184 | extension_dir, "0.1.0", register_commands=False |
| 1185 | ) |
| 1186 | assert manager.registry.is_installed("test-ext") |
| 1187 | |
| 1188 | # Force-reinstall |
| 1189 | manifest2 = manager.install_from_directory( |
| 1190 | extension_dir, "0.1.0", register_commands=False, force=True |
| 1191 | ) |
| 1192 | |
| 1193 | assert manifest2.id == "test-ext" |
| 1194 | assert manager.registry.is_installed("test-ext") |
| 1195 | # Check extension directory was recreated |
| 1196 | ext_dir = project_dir / ".specify" / "extensions" / "test-ext" |
| 1197 | assert ext_dir.exists() |
| 1198 | assert (ext_dir / "extension.yml").exists() |
| 1199 | assert (ext_dir / "commands" / "hello.md").exists() |
| 1200 | |
| 1201 | def test_install_force_config_preserved(self, extension_dir, project_dir): |
| 1202 | """Test that config files are preserved when force-reinstalling.""" |
nothing calls this directly
no test coverage detected