public async Task HandleAsync_ReturnsComplianceYearsForProducer() { // Arrange IGetProducerComplianceYearDataAccess dataAccess = A.Fake <IGetProducerComplianceYearDataAccess>(); A.CallTo(() => dataAccess.GetComplianceYears("WEE/AA1111AA")) .Returns(new List <int> { 2018, 2016 }); IWeeeAuthorization authorization = AuthorizationBuilder.CreateUserWithAllRights(); GetProducerComplianceYearHandler handler = new GetProducerComplianceYearHandler(dataAccess, authorization); Requests.Admin.GetProducerComplianceYear request = new Requests.Admin.GetProducerComplianceYear() { RegistrationNumber = "WEE/AA1111AA" }; // Act var result = await handler.HandleAsync(request); // Assert Assert.Equal(2, result.Count); Assert.Collection(result, r1 => Assert.Equal(2018, r1), r2 => Assert.Equal(2016, r2)); }
public async Task <List <int> > HandleAsync(GetProducerComplianceYear request) { authorization.EnsureCanAccessInternalArea(); var complianceYears = await dataAccess.GetComplianceYears(request.RegistrationNumber); if (complianceYears.Count == 0) { string message = string.Format( "No producer has been registered with the registration number \"{0}\".", request.RegistrationNumber); throw new ArgumentException(message); } return(complianceYears); }
public async Task HandleAsync_WithUnknownRegistrationNumber_ThrowsArgumentException() { // Arrange IGetProducerComplianceYearDataAccess dataAccess = A.Fake <IGetProducerComplianceYearDataAccess>(); A.CallTo(() => dataAccess.GetComplianceYears("WEE/AA1111AA")) .Returns(new List <int>()); IWeeeAuthorization authorization = AuthorizationBuilder.CreateUserWithAllRights(); GetProducerComplianceYearHandler handler = new GetProducerComplianceYearHandler(dataAccess, authorization); Requests.Admin.GetProducerComplianceYear request = new Requests.Admin.GetProducerComplianceYear() { RegistrationNumber = "WEE/AA1111AA" }; // Act Func <Task <List <int> > > action = async() => await handler.HandleAsync(request); // Assert await Assert.ThrowsAsync <ArgumentException>(action); }