public async void GetSchemeByIdHandler_HappyPath_ReturnsSchemeData() { // Arrage Guid schemeId = new Guid("AC9116BC-5732-4F80-9AED-A6E2A0C4C1F1"); ISchemeDataAccess dataAccess = A.Fake<ISchemeDataAccess>(); Scheme scheme = A.Fake<Scheme>(); A.CallTo(() => dataAccess.GetSchemeOrDefault(schemeId)).Returns(scheme); IWeeeAuthorization authorization = new AuthorizationBuilder() .AllowInternalAreaAccess() .Build(); var mapper = A.Fake<IMapper>(); SchemeData schemeData = A.Fake<SchemeData>(); A.CallTo(() => mapper.Map<Scheme, SchemeData>(scheme)) .Returns(schemeData); GetSchemeByIdHandler handler = new GetSchemeByIdHandler(dataAccess, mapper, authorization); GetSchemeById request = new GetSchemeById(schemeId); // Act SchemeData result = await handler.HandleAsync(request); // Assert Assert.Equal(schemeData, result); }
public async void GetSchemeByIdHandler_WithNonInternalUser_ThrowsSecurityException(AuthorizationBuilder.UserType userType) { // Arrage Guid schemeId = new Guid("AC9116BC-5732-4F80-9AED-A6E2A0C4C1F1"); ISchemeDataAccess dataAccess = A.Fake<ISchemeDataAccess>(); Scheme scheme = A.Fake<Scheme>(); A.CallTo(() => dataAccess.GetSchemeOrDefault(schemeId)).Returns(scheme); IWeeeAuthorization authorization = AuthorizationBuilder.CreateFromUserType(userType); var mapper = A.Fake<IMapper>(); SchemeData schemeData = A.Fake<SchemeData>(); A.CallTo(() => mapper.Map<Scheme, SchemeData>(scheme)) .Returns(schemeData); GetSchemeByIdHandler handler = new GetSchemeByIdHandler(dataAccess, mapper, authorization); GetSchemeById request = new GetSchemeById(schemeId); // Act Func<Task<SchemeData>> action = () => handler.HandleAsync(request); // Assert await Assert.ThrowsAsync<SecurityException>(action); }
public async void GetSchemeByIdHandler_WithUnknownId_ThrowsArgumentException() { // Arrage Guid badSchemeId = new Guid("88C60FAC-1172-43F2-9AA5-7E79A8877F92"); ISchemeDataAccess dataAccess = A.Fake <ISchemeDataAccess>(); A.CallTo(() => dataAccess.GetSchemeOrDefault(badSchemeId)).Returns((Scheme)null); IWeeeAuthorization authorization = new AuthorizationBuilder() .AllowInternalAreaAccess() .Build(); var mapper = A.Fake <IMapper>(); GetSchemeByIdHandler handler = new GetSchemeByIdHandler(dataAccess, mapper, authorization); GetSchemeById request = new GetSchemeById(badSchemeId); // Act Func <Task <SchemeData> > action = () => handler.HandleAsync(request); // Assert await Assert.ThrowsAsync <ArgumentException>(action); }
public async void GetSchemeByIdHandler_WithNonInternalUser_ThrowsSecurityException(AuthorizationBuilder.UserType userType) { // Arrage Guid schemeId = new Guid("AC9116BC-5732-4F80-9AED-A6E2A0C4C1F1"); ISchemeDataAccess dataAccess = A.Fake <ISchemeDataAccess>(); Scheme scheme = A.Fake <Scheme>(); A.CallTo(() => dataAccess.GetSchemeOrDefault(schemeId)).Returns(scheme); IWeeeAuthorization authorization = AuthorizationBuilder.CreateFromUserType(userType); var mapper = A.Fake <IMapper>(); SchemeData schemeData = A.Fake <SchemeData>(); A.CallTo(() => mapper.Map <Scheme, SchemeData>(scheme)) .Returns(schemeData); GetSchemeByIdHandler handler = new GetSchemeByIdHandler(dataAccess, mapper, authorization); GetSchemeById request = new GetSchemeById(schemeId); // Act Func <Task <SchemeData> > action = () => handler.HandleAsync(request); // Assert await Assert.ThrowsAsync <SecurityException>(action); }
public async void GetSchemeByIdHandler_HappyPath_ReturnsSchemeData() { // Arrage Guid schemeId = new Guid("AC9116BC-5732-4F80-9AED-A6E2A0C4C1F1"); ISchemeDataAccess dataAccess = A.Fake <ISchemeDataAccess>(); Scheme scheme = A.Fake <Scheme>(); A.CallTo(() => dataAccess.GetSchemeOrDefault(schemeId)).Returns(scheme); IWeeeAuthorization authorization = new AuthorizationBuilder() .AllowInternalAreaAccess() .Build(); var mapper = A.Fake <IMapper>(); SchemeData schemeData = A.Fake <SchemeData>(); A.CallTo(() => mapper.Map <Scheme, SchemeData>(scheme)) .Returns(schemeData); GetSchemeByIdHandler handler = new GetSchemeByIdHandler(dataAccess, mapper, authorization); GetSchemeById request = new GetSchemeById(schemeId); // Act SchemeData result = await handler.HandleAsync(request); // Assert Assert.Equal(schemeData, result); }
public async Task <ActionResult> DownloadProducerDetailsCsv(int complianceYear, Guid?schemeId, Guid?authorityId, bool includeRemovedProducers, bool includeBrandNames) { var fileName = new StringBuilder(); fileName.AppendFormat("{0:D4}", complianceYear); if (schemeId != null) { using (var client = apiClient()) { var requestScheme = new GetSchemeById(schemeId.Value); var scheme = await client.SendAsync(User.GetAccessToken(), requestScheme); fileName.AppendFormat("_{0}", scheme.ApprovalName); } } if (authorityId != null) { using (var client = apiClient()) { var requestAuthority = new GetUKCompetentAuthorityById(authorityId.Value); var authorityData = await client.SendAsync(User.GetAccessToken(), requestAuthority); fileName.AppendFormat("_{0}", authorityData.Abbreviation); } } fileName.AppendFormat("_producerdetails_{0:ddMMyyyy_HHmm}.csv", SystemTime.UtcNow); CSVFileData membersDetailsCsvData; using (var client = apiClient()) { var request = new GetMemberDetailsCsv(complianceYear, includeRemovedProducers, schemeId, authorityId, includeBrandNames); membersDetailsCsvData = await client.SendAsync(User.GetAccessToken(), request); } var data = new UTF8Encoding().GetBytes(membersDetailsCsvData.FileContent); return(File(data, "text/csv", CsvFilenameFormat.FormatFileName(fileName.ToString()))); }
public async void GetSchemeByIdHandler_WithUnknownId_ThrowsArgumentException() { // Arrage Guid badSchemeId = new Guid("88C60FAC-1172-43F2-9AA5-7E79A8877F92"); ISchemeDataAccess dataAccess = A.Fake<ISchemeDataAccess>(); A.CallTo(() => dataAccess.GetSchemeOrDefault(badSchemeId)).Returns((Scheme)null); IWeeeAuthorization authorization = new AuthorizationBuilder() .AllowInternalAreaAccess() .Build(); var mapper = A.Fake<IMapper>(); GetSchemeByIdHandler handler = new GetSchemeByIdHandler(dataAccess, mapper, authorization); GetSchemeById request = new GetSchemeById(badSchemeId); // Act Func<Task<SchemeData>> action = () => handler.HandleAsync(request); // Assert await Assert.ThrowsAsync<ArgumentException>(action); }
public async Task<ActionResult> DownloadProducerDetailsCsv(int complianceYear, Guid? schemeId, Guid? authorityId, bool includeRemovedProducers, bool includeBrandNames) { StringBuilder fileName = new StringBuilder(); fileName.AppendFormat("{0:D4}", complianceYear); if (schemeId != null) { using (IWeeeClient client = apiClient()) { GetSchemeById requestScheme = new GetSchemeById(schemeId.Value); SchemeData scheme = await client.SendAsync(User.GetAccessToken(), requestScheme); fileName.AppendFormat("_{0}", scheme.ApprovalName); } } if (authorityId != null) { using (IWeeeClient client = apiClient()) { GetUKCompetentAuthorityById requestAuthority = new GetUKCompetentAuthorityById(authorityId.Value); UKCompetentAuthorityData authorityData = await client.SendAsync(User.GetAccessToken(), requestAuthority); fileName.AppendFormat("_{0}", authorityData.Abbreviation); } } fileName.AppendFormat("_producerdetails_{0:ddMMyyyy_HHmm}.csv", SystemTime.UtcNow); CSVFileData membersDetailsCsvData; using (IWeeeClient client = apiClient()) { GetMemberDetailsCsv request = new GetMemberDetailsCsv(complianceYear, includeRemovedProducers, schemeId, authorityId, includeBrandNames); membersDetailsCsvData = await client.SendAsync(User.GetAccessToken(), request); } byte[] data = new UTF8Encoding().GetBytes(membersDetailsCsvData.FileContent); return File(data, "text/csv", CsvFilenameFormat.FormatFileName(fileName.ToString())); }