public async Task GetDownloadSchemeWeeeDataCsv_Always_ReturnsFileResultWithContentTypeOfTextCsv() { // Arrange ReportsController controller = new ReportsController( () => A.Fake<IWeeeClient>(), A.Dummy<BreadcrumbService>()); ProducersDataViewModel viewModel = new ProducersDataViewModel(); // Act ActionResult result = await controller.DownloadSchemeWeeeDataCsv( A.Dummy<int>(), A.Dummy<Guid>(), A.Dummy<ObligationType>()); // Assert FileResult fileResult = result as FileResult; Assert.NotNull(fileResult); Assert.Equal("text/csv", fileResult.ContentType); }
public async Task PostSchemeWeeeData_WithViewModel_SetsTriggerDownloadToTrue() { // Arrange ReportsController controller = new ReportsController( () => A.Dummy<IWeeeClient>(), A.Dummy<BreadcrumbService>()); ProducersDataViewModel viewModel = new ProducersDataViewModel(); // Act ActionResult result = await controller.SchemeWeeeData(viewModel); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.Equal(true, viewResult.ViewBag.TriggerDownload); }
public async Task GetDownloadSchemeWeeeDataCsv_Always_CallsApiAndReturnsFileResultWithCorrectFileName() { // Arrange FileInfo file = new FileInfo("TEST FILE.csv", new byte[] { 1, 2, 3 }); IWeeeClient weeeClient = A.Fake<IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<GetSchemeWeeeCsv>._)) .WhenArgumentsMatch(a => a.Get<GetSchemeWeeeCsv>("request").ComplianceYear == 2015 && a.Get<GetSchemeWeeeCsv>("request").SchemeId == new Guid("B6826CC7-5043-47D2-96C9-7B559BB7DEA1") && a.Get<GetSchemeWeeeCsv>("request").ObligationType == ObligationType.B2C) .Returns(file); ReportsController controller = new ReportsController( () => weeeClient, A.Dummy<BreadcrumbService>()); ProducersDataViewModel viewModel = new ProducersDataViewModel(); // Act ActionResult result = await controller.DownloadSchemeWeeeDataCsv( 2015, new Guid("B6826CC7-5043-47D2-96C9-7B559BB7DEA1"), ObligationType.B2C); // Assert FileResult fileResult = result as FileResult; Assert.NotNull(fileResult); Assert.Equal("TEST FILE.csv", fileResult.FileDownloadName); }
public async Task PostSchemeWeeeData_WithInvalidViewModel_ReturnsSchemeWeeeDataProducerDataViewModel() { // Arrange IWeeeClient weeeClient = A.Fake<IWeeeClient>(); List<int> years = new List<int>() { 2001, 2002 }; A.CallTo(() => weeeClient.SendAsync(A<string>._, A<GetDataReturnsActiveComplianceYears>._)).Returns(years); List<SchemeData> schemes = new List<SchemeData>(); schemes.Add(new SchemeData() { Id = new Guid("F0D0B242-7656-46FA-AF15-204E710E9850"), SchemeName = "Scheme 1" }); schemes.Add(new SchemeData() { Id = new Guid("2FE842AD-E122-4C40-9C39-EC183CFCD9F3"), SchemeName = "Scheme 2" }); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<Weee.Requests.Admin.GetSchemes>._)).Returns(schemes); ReportsController controller = new ReportsController( () => weeeClient, A.Dummy<BreadcrumbService>()); ProducersDataViewModel viewModel = new ProducersDataViewModel(); // Act controller.ModelState.AddModelError("Key", "Error"); ActionResult result = await controller.SchemeWeeeData(viewModel); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(string.IsNullOrEmpty(viewResult.ViewName) || viewResult.ViewName == "SchemeWeeeData"); ProducersDataViewModel model = viewResult.Model as ProducersDataViewModel; Assert.NotNull(model); Assert.Collection(model.ComplianceYears, y1 => Assert.Equal("2001", y1.Text), y2 => Assert.Equal("2002", y2.Text)); Assert.Collection(model.Schemes, s1 => Assert.Equal("Scheme 1", s1.Text), s2 => Assert.Equal("Scheme 2", s2.Text)); }
public async Task PostSchemeWeeeData_WithInvalidViewModel_SetsTriggerDownloadToFalse() { // Arrange ReportsController controller = new ReportsController( () => A.Dummy<IWeeeClient>(), A.Dummy<BreadcrumbService>()); ProducersDataViewModel viewModel = new ProducersDataViewModel(); // Act controller.ModelState.AddModelError("Key", "Error"); ActionResult result = await controller.SchemeWeeeData(viewModel); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.Equal(false, viewResult.ViewBag.TriggerDownload); }
public async Task GetDownloadUkWeeeDataCsv_Always_CallsApiAndReturnsFileResultWithContentTypeOfTextCsv() { // Arrange IWeeeClient weeeClient = A.Fake<IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A<GetUkWeeeCsv>._)) .WhenArgumentsMatch(a => a.Get<int>("complianceYear") == 2015) .Returns(A.Dummy<FileInfo>()); ReportsController controller = new ReportsController( () => weeeClient, A.Dummy<BreadcrumbService>()); ProducersDataViewModel viewModel = new ProducersDataViewModel(); // Act ActionResult result = await controller.DownloadUkWeeeDataCsv(2015); // Assert FileResult fileResult = result as FileResult; Assert.NotNull(fileResult); Assert.Equal("text/csv", fileResult.ContentType); }
public async Task PostUkWeeeData_WithInvalidViewModel_ReturnsUkWeeeDataProducerDataViewModel() { // Arrange List<int> years = new List<int>() { 2001, 2002 }; IWeeeClient weeeClient = A.Fake<IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<GetDataReturnsActiveComplianceYears>._)).Returns(years); ReportsController controller = new ReportsController( () => weeeClient, A.Dummy<BreadcrumbService>()); ProducersDataViewModel viewModel = new ProducersDataViewModel(); // Act controller.ModelState.AddModelError("Key", "Error"); ActionResult result = await controller.UkWeeeData(viewModel); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(string.IsNullOrEmpty(viewResult.ViewName) || viewResult.ViewName == "UkWeeeData"); ProducersDataViewModel model = viewResult.Model as ProducersDataViewModel; Assert.NotNull(model); Assert.Collection(model.ComplianceYears, y1 => Assert.Equal("2001", y1.Text), y2 => Assert.Equal("2002", y2.Text)); }
private async Task PopulateFilters(ProducersDataViewModel model, bool populateSchemes) { List<int> years = await FetchComplianceYearsForDataReturns(); model.ComplianceYears = new SelectList(years); if (populateSchemes) { List<SchemeData> schemes = await FetchSchemes(); model.Schemes = new SelectList(schemes, "Id", "SchemeName"); } }
public async Task<ActionResult> UkWeeeData(ProducersDataViewModel model) { SetBreadcrumb(); ViewBag.TriggerDownload = ModelState.IsValid; await PopulateFilters(model, false); return View(model); }
public async Task<ActionResult> UkWeeeData() { SetBreadcrumb(); ViewBag.TriggerDownload = false; ProducersDataViewModel model = new ProducersDataViewModel(); await PopulateFilters(model, false); return View(model); }