Skip to content

Commit f0ee2c5

Browse files
Add integration tests for the dependents API (loic-sharma#575)
1 parent a8bdf18 commit f0ee2c5

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

src/BaGet.Hosting/Controllers/SearchController.cs

+6-1
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,14 @@ public async Task<ActionResult<AutocompleteResponse>> AutocompleteAsync(
6969
}
7070

7171
public async Task<ActionResult<DependentsResponse>> DependentsAsync(
72-
[FromQuery] string packageId,
72+
[FromQuery] string packageId = null,
7373
CancellationToken cancellationToken = default)
7474
{
75+
if (string.IsNullOrWhiteSpace(packageId))
76+
{
77+
return BadRequest();
78+
}
79+
7580
return await _searchService.FindDependentsAsync(packageId, cancellationToken);
7681
}
7782
}

tests/BaGet.Tests/ApiIntegrationTests.cs

+23
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,29 @@ public async Task PackageMetadataLeafReturnsNotFound()
290290
Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
291291
}
292292

293+
[Fact]
294+
public async Task PackageDependentsReturnsOk()
295+
{
296+
using var response = await _client.GetAsync("v3/dependents?packageId=DefaultPackage");
297+
298+
var content = await response.Content.ReadAsStreamAsync();
299+
var json = PrettifyJson(content);
300+
301+
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
302+
Assert.Equal(@"{
303+
""totalHits"": 0,
304+
""data"": []
305+
}", json);
306+
}
307+
308+
[Fact]
309+
public async Task PackageDependentsReturnsBadRequest()
310+
{
311+
using var response = await _client.GetAsync("v3/dependents");
312+
313+
Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
314+
}
315+
293316
private string PrettifyJson(Stream jsonStream)
294317
{
295318
using var writer = new StringWriter();

0 commit comments

Comments
 (0)