@@ -96,6 +96,45 @@ public function testSkipsFillingOutMissingInfo()
96
96
$ this ->assertNull ($ dependencies [1 ]->current_version ->released );
97
97
}
98
98
99
+ public function testSkipsBadRepositories ()
100
+ {
101
+ //arrange
102
+ $ dependency = new Dependency ();
103
+ $ dependency ->name = 'vendor1/package1 ' ;
104
+ $ dependency ->current_version ->version_number = '1.2.3 ' ;
105
+ $ composer = Mockery::mock (ComposerFile::class, [
106
+ 'getRepositories ' => ['repo1 ' , 'repo2 ' ],
107
+ 'getDependencies ' => [$ dependency ]
108
+ ]);
109
+
110
+ $ api = Mockery::mock (RepositoryAPI::class, [
111
+ 'getPackageInfo ' => [
112
+ ['version ' => '1.2.4 ' , 'time ' => '2018-07-01 ' ]
113
+ ]
114
+ ]);
115
+ $ repo1 = null ;
116
+ $ repo2 = new Repository ('' , null );
117
+ $ api ->shouldReceive ('getInfo ' )->andReturn (
118
+ $ repo1 ,
119
+ $ repo2
120
+ );
121
+
122
+ $ progress = Mockery::mock (Progress::class, [
123
+ 'setTotal ' => null ,
124
+ 'display ' => null ,
125
+ 'tick ' => null ,
126
+ 'finish ' => null
127
+ ]);
128
+ $ calculator = new Calculator ($ composer , $ api , $ progress );
129
+
130
+ //act
131
+ $ calculator ->getDependencyInfo ('. ' , false );
132
+
133
+ //assert
134
+ $ api ->shouldNotHaveReceived ('getPackageInfo ' , ['vendor1/package1 ' , $ repo1 , false ]);
135
+ $ api ->shouldHaveReceived ('getPackageInfo ' , ['vendor1/package1 ' , $ repo2 , false ]);
136
+ }
137
+
99
138
public function testSkipsFillingOutMissingVersions ()
100
139
{
101
140
//arrange
0 commit comments