Skip to content

Commit ae97a85

Browse files
jong-kyungwan9chi
andauthored
test(cli): share package manager fixtures (#2197)
## Summary Package-manager command tests now share one source of truth for fixture defaults, preventing setup drift across 32 command modules. Version-specific tests retain explicit versions, while tests that do not depend on a version use the common default. Co-authored-by: Charles Wang <3612422+wan9chi@users.noreply.github.com>
1 parent 24de05a commit ae97a85

33 files changed

Lines changed: 71 additions & 763 deletions

crates/vite_install/src/commands/add.rs

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -250,32 +250,9 @@ impl PackageManager {
250250

251251
#[cfg(test)]
252252
mod tests {
253-
use tempfile::{TempDir, tempdir};
254-
use vite_path::AbsolutePathBuf;
255-
use vite_str::Str;
256253

257254
use super::*;
258-
259-
fn create_temp_dir() -> TempDir {
260-
tempdir().expect("Failed to create temp directory")
261-
}
262-
263-
fn create_mock_package_manager(pm_type: PackageManagerType) -> PackageManager {
264-
let temp_dir = create_temp_dir();
265-
let temp_dir_path = AbsolutePathBuf::new(temp_dir.path().to_path_buf()).unwrap();
266-
let install_dir = temp_dir_path.join("install");
267-
268-
PackageManager {
269-
client: pm_type,
270-
package_name: pm_type.to_string().into(),
271-
version: Str::from("1.0.0"),
272-
hash: None,
273-
bin_name: pm_type.to_string().into(),
274-
workspace_root: temp_dir_path.clone(),
275-
is_monorepo: false,
276-
install_dir,
277-
}
278-
}
255+
use crate::package_manager::create_mock_package_manager;
279256

280257
#[test]
281258
fn test_pnpm_basic_add() {

crates/vite_install/src/commands/approve_builds.rs

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -281,32 +281,9 @@ fn warn_dropped_pass_through(extras: Option<&[String]>) {
281281

282282
#[cfg(test)]
283283
mod tests {
284-
use tempfile::{TempDir, tempdir};
285-
use vite_path::AbsolutePathBuf;
286-
use vite_str::Str;
287284

288285
use super::*;
289-
290-
fn create_temp_dir() -> TempDir {
291-
tempdir().expect("Failed to create temp directory")
292-
}
293-
294-
fn create_mock_package_manager(pm_type: PackageManagerType, version: &str) -> PackageManager {
295-
let temp_dir = create_temp_dir();
296-
let temp_dir_path = AbsolutePathBuf::new(temp_dir.path().to_path_buf()).unwrap();
297-
let install_dir = temp_dir_path.join("install");
298-
299-
PackageManager {
300-
client: pm_type,
301-
package_name: pm_type.to_string().into(),
302-
version: Str::from(version),
303-
hash: None,
304-
bin_name: pm_type.to_string().into(),
305-
workspace_root: temp_dir_path.clone(),
306-
is_monorepo: false,
307-
install_dir,
308-
}
309-
}
286+
use crate::package_manager::create_mock_package_manager_with_version as create_mock_package_manager;
310287

311288
#[test]
312289
fn pnpm_no_args_interactive() {

crates/vite_install/src/commands/audit.rs

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -176,32 +176,9 @@ impl PackageManager {
176176

177177
#[cfg(test)]
178178
mod tests {
179-
use tempfile::{TempDir, tempdir};
180-
use vite_path::AbsolutePathBuf;
181-
use vite_str::Str;
182179

183180
use super::*;
184-
185-
fn create_temp_dir() -> TempDir {
186-
tempdir().expect("Failed to create temp directory")
187-
}
188-
189-
fn create_mock_package_manager(pm_type: PackageManagerType, version: &str) -> PackageManager {
190-
let _temp_dir = create_temp_dir();
191-
let temp_dir_path = AbsolutePathBuf::new(_temp_dir.path().to_path_buf()).unwrap();
192-
let install_dir = temp_dir_path.join("install");
193-
194-
PackageManager {
195-
client: pm_type,
196-
package_name: pm_type.to_string().into(),
197-
version: Str::from(version),
198-
hash: None,
199-
bin_name: pm_type.to_string().into(),
200-
workspace_root: temp_dir_path.clone(),
201-
is_monorepo: false,
202-
install_dir,
203-
}
204-
}
181+
use crate::package_manager::create_mock_package_manager_with_version as create_mock_package_manager;
205182

206183
#[test]
207184
fn test_npm_audit() {

crates/vite_install/src/commands/cache.rs

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -152,32 +152,9 @@ impl PackageManager {
152152

153153
#[cfg(test)]
154154
mod tests {
155-
use tempfile::{TempDir, tempdir};
156-
use vite_path::AbsolutePathBuf;
157-
use vite_str::Str;
158155

159156
use super::*;
160-
161-
fn create_temp_dir() -> TempDir {
162-
tempdir().expect("Failed to create temp directory")
163-
}
164-
165-
fn create_mock_package_manager(pm_type: PackageManagerType, version: &str) -> PackageManager {
166-
let temp_dir = create_temp_dir();
167-
let temp_dir_path = AbsolutePathBuf::new(temp_dir.path().to_path_buf()).unwrap();
168-
let install_dir = temp_dir_path.join("install");
169-
170-
PackageManager {
171-
client: pm_type,
172-
package_name: pm_type.to_string().into(),
173-
version: Str::from(version),
174-
hash: None,
175-
bin_name: pm_type.to_string().into(),
176-
workspace_root: temp_dir_path.clone(),
177-
is_monorepo: false,
178-
install_dir,
179-
}
180-
}
157+
use crate::package_manager::create_mock_package_manager_with_version as create_mock_package_manager;
181158

182159
#[test]
183160
fn test_pnpm_cache_dir() {

crates/vite_install/src/commands/config.rs

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -166,32 +166,9 @@ impl PackageManager {
166166

167167
#[cfg(test)]
168168
mod tests {
169-
use tempfile::{TempDir, tempdir};
170-
use vite_path::AbsolutePathBuf;
171-
use vite_str::Str;
172169

173170
use super::*;
174-
175-
fn create_temp_dir() -> TempDir {
176-
tempdir().expect("Failed to create temp directory")
177-
}
178-
179-
fn create_mock_package_manager(pm_type: PackageManagerType, version: &str) -> PackageManager {
180-
let temp_dir = create_temp_dir();
181-
let temp_dir_path = AbsolutePathBuf::new(temp_dir.path().to_path_buf()).unwrap();
182-
let install_dir = temp_dir_path.join("install");
183-
184-
PackageManager {
185-
client: pm_type,
186-
package_name: pm_type.to_string().into(),
187-
version: Str::from(version),
188-
hash: None,
189-
bin_name: pm_type.to_string().into(),
190-
workspace_root: temp_dir_path.clone(),
191-
is_monorepo: false,
192-
install_dir,
193-
}
194-
}
171+
use crate::package_manager::create_mock_package_manager_with_version as create_mock_package_manager;
195172

196173
#[test]
197174
fn test_pnpm_config_set() {

crates/vite_install/src/commands/dedupe.rs

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -89,32 +89,9 @@ impl PackageManager {
8989

9090
#[cfg(test)]
9191
mod tests {
92-
use tempfile::{TempDir, tempdir};
93-
use vite_path::AbsolutePathBuf;
94-
use vite_str::Str;
9592

9693
use super::*;
97-
98-
fn create_temp_dir() -> TempDir {
99-
tempdir().expect("Failed to create temp directory")
100-
}
101-
102-
fn create_mock_package_manager(pm_type: PackageManagerType, version: &str) -> PackageManager {
103-
let temp_dir = create_temp_dir();
104-
let temp_dir_path = AbsolutePathBuf::new(temp_dir.path().to_path_buf()).unwrap();
105-
let install_dir = temp_dir_path.join("install");
106-
107-
PackageManager {
108-
client: pm_type,
109-
package_name: pm_type.to_string().into(),
110-
version: Str::from(version),
111-
hash: None,
112-
bin_name: pm_type.to_string().into(),
113-
workspace_root: temp_dir_path.clone(),
114-
is_monorepo: false,
115-
install_dir,
116-
}
117-
}
94+
use crate::package_manager::create_mock_package_manager_with_version as create_mock_package_manager;
11895

11996
#[test]
12097
fn test_pnpm_dedupe_basic() {

crates/vite_install/src/commands/deprecate.rs

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -75,33 +75,11 @@ impl PackageManager {
7575

7676
#[cfg(test)]
7777
mod tests {
78-
use tempfile::{TempDir, tempdir};
79-
use vite_path::AbsolutePathBuf;
80-
use vite_str::Str;
8178

8279
use super::*;
83-
use crate::package_manager::PackageManagerType;
84-
85-
fn create_temp_dir() -> TempDir {
86-
tempdir().expect("Failed to create temp directory")
87-
}
88-
89-
fn create_mock_package_manager(pm_type: PackageManagerType, version: &str) -> PackageManager {
90-
let temp_dir = create_temp_dir();
91-
let temp_dir_path = AbsolutePathBuf::new(temp_dir.path().to_path_buf()).unwrap();
92-
let install_dir = temp_dir_path.join("install");
93-
94-
PackageManager {
95-
client: pm_type,
96-
package_name: pm_type.to_string().into(),
97-
version: Str::from(version),
98-
hash: None,
99-
bin_name: pm_type.to_string().into(),
100-
workspace_root: temp_dir_path.clone(),
101-
is_monorepo: false,
102-
install_dir,
103-
}
104-
}
80+
use crate::package_manager::{
81+
PackageManagerType, create_mock_package_manager_with_version as create_mock_package_manager,
82+
};
10583

10684
#[test]
10785
fn test_deprecate_basic() {

crates/vite_install/src/commands/dist_tag.rs

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -102,32 +102,9 @@ impl PackageManager {
102102

103103
#[cfg(test)]
104104
mod tests {
105-
use tempfile::{TempDir, tempdir};
106-
use vite_path::AbsolutePathBuf;
107-
use vite_str::Str;
108105

109106
use super::*;
110-
111-
fn create_temp_dir() -> TempDir {
112-
tempdir().expect("Failed to create temp directory")
113-
}
114-
115-
fn create_mock_package_manager(pm_type: PackageManagerType, version: &str) -> PackageManager {
116-
let _temp_dir = create_temp_dir();
117-
let temp_dir_path = AbsolutePathBuf::new(_temp_dir.path().to_path_buf()).unwrap();
118-
let install_dir = temp_dir_path.join("install");
119-
120-
PackageManager {
121-
client: pm_type,
122-
package_name: pm_type.to_string().into(),
123-
version: Str::from(version),
124-
hash: None,
125-
bin_name: pm_type.to_string().into(),
126-
workspace_root: temp_dir_path.clone(),
127-
is_monorepo: false,
128-
install_dir,
129-
}
130-
}
107+
use crate::package_manager::create_mock_package_manager_with_version as create_mock_package_manager;
131108

132109
#[test]
133110
fn test_npm_dist_tag_list() {

crates/vite_install/src/commands/dlx.rs

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -297,32 +297,9 @@ fn extract_command_from_spec(spec: &str) -> String {
297297

298298
#[cfg(test)]
299299
mod tests {
300-
use tempfile::{TempDir, tempdir};
301-
use vite_path::AbsolutePathBuf;
302-
use vite_str::Str;
303300

304301
use super::*;
305-
306-
fn create_temp_dir() -> TempDir {
307-
tempdir().expect("Failed to create temp directory")
308-
}
309-
310-
fn create_mock_package_manager(pm_type: PackageManagerType, version: &str) -> PackageManager {
311-
let temp_dir = create_temp_dir();
312-
let temp_dir_path = AbsolutePathBuf::new(temp_dir.path().to_path_buf()).unwrap();
313-
let install_dir = temp_dir_path.join("install");
314-
315-
PackageManager {
316-
client: pm_type,
317-
package_name: pm_type.to_string().into(),
318-
version: Str::from(version),
319-
hash: None,
320-
bin_name: pm_type.to_string().into(),
321-
workspace_root: temp_dir_path.clone(),
322-
is_monorepo: false,
323-
install_dir,
324-
}
325-
}
302+
use crate::package_manager::create_mock_package_manager_with_version as create_mock_package_manager;
326303

327304
#[test]
328305
fn test_extract_command_from_spec() {

crates/vite_install/src/commands/fund.rs

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -59,33 +59,11 @@ impl PackageManager {
5959

6060
#[cfg(test)]
6161
mod tests {
62-
use tempfile::{TempDir, tempdir};
63-
use vite_path::AbsolutePathBuf;
64-
use vite_str::Str;
6562

6663
use super::*;
67-
use crate::package_manager::PackageManagerType;
68-
69-
fn create_temp_dir() -> TempDir {
70-
tempdir().expect("Failed to create temp directory")
71-
}
72-
73-
fn create_mock_package_manager(pm_type: PackageManagerType, version: &str) -> PackageManager {
74-
let temp_dir = create_temp_dir();
75-
let temp_dir_path = AbsolutePathBuf::new(temp_dir.path().to_path_buf()).unwrap();
76-
let install_dir = temp_dir_path.join("install");
77-
78-
PackageManager {
79-
client: pm_type,
80-
package_name: pm_type.to_string().into(),
81-
version: Str::from(version),
82-
hash: None,
83-
bin_name: pm_type.to_string().into(),
84-
workspace_root: temp_dir_path.clone(),
85-
is_monorepo: false,
86-
install_dir,
87-
}
88-
}
64+
use crate::package_manager::{
65+
PackageManagerType, create_mock_package_manager_with_version as create_mock_package_manager,
66+
};
8967

9068
#[test]
9169
fn test_fund_basic() {

0 commit comments

Comments
 (0)