-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CSP-1763: FAT Outer API endpoint GET /Courses/routes (#1907)
* added AgreementNotSigned * 1. In case of closed vacancy, the response object could not be cast into GetApprenticeshipVacancyItemResponse This results in a vacancy item response as null. If the Email tokens are empty, then the email is not sent. 2. Vacancy service => Separation of Concerns rule violation split this implementation as separate methods GetVacancy from FAA Api & Closed Vacancy from RAA Api * Included NHS Vacancies count in the search Results * Update SFA.DAS.FindAnApprenticeship.csproj * Updated SFA.DAS.VacancyServices.Wage to version 1.0.35 * Saved Search Email alert Across England wording change * added failed requests alert and updated app connection string * WIP * CSP-1763: Levels controller method to return levels from courses api. --------- Co-authored-by: Paul Graham <[email protected]> Co-authored-by: Balaji Jambulingam <[email protected]> Co-authored-by: Liam Crossley <[email protected]> Co-authored-by: Siji Odunlami <[email protected]> Co-authored-by: Calum Rees <[email protected]> Co-authored-by: harsh-dfe <[email protected]> Co-authored-by: Calum Rees <[email protected]> Co-authored-by: Najam Muhammad <[email protected]>
- Loading branch information
1 parent
39adda2
commit 3448f43
Showing
7 changed files
with
116 additions
and
1 deletion.
There are no files selected for viewing
45 changes: 45 additions & 0 deletions
45
...FindApprenticeshipTraining.Api.UnitTests/Controllers/Courses/WhenQueryingCourseRoutes..cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
using MediatR; | ||
using Microsoft.AspNetCore.Mvc; | ||
using Moq; | ||
using NUnit.Framework; | ||
using SFA.DAS.FindApprenticeshipTraining.Api.Controllers; | ||
using SFA.DAS.FindApprenticeshipTraining.Application.Courses.Queries.GetCourseRoutes; | ||
using SFA.DAS.SharedOuterApi.InnerApi.Responses; | ||
using SFA.DAS.Testing.AutoFixture; | ||
using System.Net; | ||
using System.Threading; | ||
using System.Threading.Tasks; | ||
|
||
namespace SFA.DAS.FindApprenticeshipTraining.Api.UnitTests.Controllers.Courses; | ||
|
||
public sealed class WhenQueryingCourseRoutes | ||
{ | ||
[Test] | ||
[MoqAutoData] | ||
public async Task Then_Passes_Query_To_Mediator_And_Returns_Routes( | ||
GetRoutesListResponse expectedResponse | ||
) | ||
{ | ||
Mock<IMediator> mockMediator = new Mock<IMediator>(); | ||
mockMediator | ||
.Setup(mediator => mediator.Send( | ||
It.IsAny<GetCourseRoutesQuery>(), | ||
It.IsAny<CancellationToken>() | ||
)) | ||
.ReturnsAsync(expectedResponse); | ||
|
||
var sut = new CoursesController(mockMediator.Object); | ||
|
||
var result = await sut.GetCourseRoutes() as ObjectResult; | ||
|
||
Assert.Multiple(() => | ||
{ | ||
Assert.That(result, Is.Not.Null); | ||
Assert.That(result.StatusCode, Is.EqualTo((int)HttpStatusCode.OK)); | ||
|
||
var model = result.Value as GetRoutesListResponse; | ||
Assert.That(model, Is.Not.Null); | ||
Assert.That(model, Is.EqualTo(expectedResponse)); | ||
}); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
38 changes: 38 additions & 0 deletions
38
...Training.UnitTests/Application/Courses/Queries/GetCourseRoutes/WhenGettingCourseRoutes.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
using AutoFixture.NUnit3; | ||
using FluentAssertions; | ||
using Moq; | ||
using NUnit.Framework; | ||
using SFA.DAS.FindApprenticeshipTraining.Application.Courses.Queries.GetCourseRoutes; | ||
using SFA.DAS.SharedOuterApi.Configuration; | ||
using SFA.DAS.SharedOuterApi.InnerApi.Requests; | ||
using SFA.DAS.SharedOuterApi.InnerApi.Responses; | ||
using SFA.DAS.SharedOuterApi.Interfaces; | ||
using SFA.DAS.Testing.AutoFixture; | ||
using System.Threading; | ||
using System.Threading.Tasks; | ||
|
||
namespace SFA.DAS.FindApprenticeshipTraining.UnitTests.Application.Courses.Queries.GetCourseRoutes; | ||
|
||
public sealed class WhenGettingCourseRoutes | ||
{ | ||
[Test] | ||
[MoqAutoData] | ||
public async Task Then_Gets_Routes_From_Courses_Api( | ||
GetCourseRoutesQuery query, | ||
GetRoutesListResponse response, | ||
[Frozen] Mock<ICoursesApiClient<CoursesApiConfiguration>> _mockCoursesApiClient, | ||
GetCourseRoutesQueryHandler sut | ||
) | ||
{ | ||
_mockCoursesApiClient.Setup(client => | ||
client.Get<GetRoutesListResponse>( | ||
It.IsAny<GetRoutesListRequest>() | ||
) | ||
) | ||
.ReturnsAsync(response); | ||
|
||
var result = await sut.Handle(query, CancellationToken.None); | ||
|
||
result.Routes.Should().Equal(response.Routes); | ||
} | ||
} |
File renamed without changes.
File renamed without changes.
6 changes: 6 additions & 0 deletions
6
...pprenticeshipTraining/Application/Courses/Queries/GetCourseRoutes/GetCourseRoutesQuery.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
using MediatR; | ||
using SFA.DAS.SharedOuterApi.InnerApi.Responses; | ||
|
||
namespace SFA.DAS.FindApprenticeshipTraining.Application.Courses.Queries.GetCourseRoutes; | ||
|
||
public sealed class GetCourseRoutesQuery : IRequest<GetRoutesListResponse>; |
17 changes: 17 additions & 0 deletions
17
...ceshipTraining/Application/Courses/Queries/GetCourseRoutes/GetCourseRoutesQueryHandler.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
using MediatR; | ||
using SFA.DAS.SharedOuterApi.Configuration; | ||
using SFA.DAS.SharedOuterApi.InnerApi.Requests; | ||
using SFA.DAS.SharedOuterApi.InnerApi.Responses; | ||
using SFA.DAS.SharedOuterApi.Interfaces; | ||
using System.Threading; | ||
using System.Threading.Tasks; | ||
|
||
namespace SFA.DAS.FindApprenticeshipTraining.Application.Courses.Queries.GetCourseRoutes; | ||
|
||
public sealed class GetCourseRoutesQueryHandler(ICoursesApiClient<CoursesApiConfiguration> _coursesApiClient) : IRequestHandler<GetCourseRoutesQuery, GetRoutesListResponse> | ||
{ | ||
public async Task<GetRoutesListResponse> Handle(GetCourseRoutesQuery request, CancellationToken cancellationToken) | ||
{ | ||
return await _coursesApiClient.Get<GetRoutesListResponse>(new GetRoutesListRequest()); | ||
} | ||
} |