@@ -71,28 +71,34 @@ def test_parses_projects(rule_runner: RuleRunner) -> None:
71
71
assert {project .root_dir for project in projects } == {"src/js/foo" , "src/js/bar" }
72
72
73
73
74
- def test_immutable_install_args_property (rule_runner : RuleRunner ) -> None :
74
+ @pytest .mark .parametrize (
75
+ ("package_manager" , "expected_immutable_install_args" ),
76
+ [
77
+ (None , ("clean-install" ,)),
78
+ ("[email protected] " , ("clean-install" ,)),
79
+ ("[email protected] " , ("install" , "--frozen-lockfile" )),
80
+ ("[email protected] " , ("install" , "--frozen-lockfile" )),
81
+ ("[email protected] " , ("install" , "--immutable" )),
82
+ ("[email protected] " , ("install" , "--immutable" )),
83
+ ],
84
+ )
85
+ def test_immutable_install_args_property (
86
+ package_manager : None | str ,
87
+ expected_immutable_install_args : tuple [str ],
88
+ rule_runner : RuleRunner ,
89
+ ) -> None :
75
90
rule_runner .write_files (
76
91
{
77
92
"src/js/foo/BUILD" : "package_json()" ,
78
- "src/js/foo/package.json" : given_package ("foo" , "0.0.1" ),
79
- "src/js/bar/BUILD" : "package_json() " ,
80
- "src/js/bar/package.json" : given_package (
81
- "bar" , "0.0.2" , package_manager = "[email protected] "
93
+ "src/js/foo/package.json" : given_package (
94
+ name = "foo " ,
95
+ version = "0.0.1" ,
96
+ package_manager = package_manager ,
82
97
),
83
- "src/js/baz/BUILD" : "package_json()" ,
84
- "src/js/baz/package.json" :
given_package (
"baz" ,
"0.0.3" ,
package_manager = "[email protected] " ),
85
- "src/js/qux/BUILD" : "package_json()" ,
86
- "src/js/qux/package.json" :
given_package (
"qux" ,
"0.0.4" ,
package_manager = "[email protected] " ),
87
98
}
88
99
)
89
100
projects = rule_runner .request (AllNodeJSProjects , [])
90
- assert {project .immutable_install_args for project in projects } == {
91
- ("clean-install" ,),
92
- ("install" , "--frozen-lockfile" ),
93
- ("install" , "--immutable" ),
94
- ("install" , "--frozen-lockfile" ),
95
- }
101
+ assert projects [0 ].immutable_install_args == expected_immutable_install_args
96
102
97
103
98
104
def test_immutable_install_args_property_with_unsupported_package_manager (
0 commit comments