public void OnActionExecuting_Always_SetsBreadcrumbInternalActivityToManageCharges() { // Arrange IAppConfiguration configuration = A.Fake <IAppConfiguration>(); A.CallTo(() => configuration.EnableInvoicing).Returns(true); BreadcrumbService breadcrumb = new BreadcrumbService(); ChargeController controller = new ChargeController( configuration, breadcrumb, () => A.Dummy <IWeeeClient>()); // Act MethodInfo onActionExecutingMethod = typeof(ChargeController).GetMethod( "OnActionExecuting", BindingFlags.NonPublic | BindingFlags.Instance); object[] args = new object[] { A.Dummy <ActionExecutingContext>() }; try { onActionExecutingMethod.Invoke(controller, args); } catch (TargetInvocationException ex) { throw ex.InnerException; } // Assert Assert.Equal("Manage PCS charges", breadcrumb.InternalActivity); }
public async Task GetDownloadIssuedChargesCsv_Always_CallsApiAndReturnsFileResultWithCorrectFileName() { // Arrange CompetentAuthority authority = A.Dummy <CompetentAuthority>(); int complianceYear = A.Dummy <int>(); Guid schemeId = A.Dummy <Guid>(); IWeeeClient weeeClient = A.Fake <IWeeeClient>(); FileInfo fileInfo = new FileInfo("filename", new byte[] { 1, 2, 3 }); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <FetchIssuedChargesCsv> ._)) .WhenArgumentsMatch(a => a.Get <FetchIssuedChargesCsv>("request").Authority == authority && a.Get <FetchIssuedChargesCsv>("request").ComplianceYear == complianceYear && a.Get <FetchIssuedChargesCsv>("request").SchemeId == schemeId) .Returns(fileInfo); ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => weeeClient); // Act ActionResult result = await controller.DownloadIssuedChargesCsv(authority, complianceYear, schemeId); // Assert FileResult fileResult = result as FileResult; Assert.NotNull(fileResult); Assert.Equal("filename", fileResult.FileDownloadName); }
public async Task PostManagePendingCharges_NonAjaxWithNoError_CallsApiAndRedirectsToChargesSuccessfullyIssuedActionWithAuthorityAndInvoiceRunId() { Guid invoiceRunId = new Guid("FB95F6E7-8809-488A-B23B-5B3F5A9B3D5F"); IWeeeClient weeeClient = A.Fake <IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <IssuePendingCharges> ._)) .Returns(new IssuePendingChargesResult { Errors = new List <string>(), InvoiceRunId = invoiceRunId }); // Arrange ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => weeeClient); HttpContextBase httpContext = A.Fake <HttpContextBase>(); HttpRequestBase httpRequest = A.Fake <HttpRequestBase>(); A.CallTo(() => httpContext.Request).Returns(httpRequest); controller.ControllerContext = new ControllerContext(httpContext, new RouteData(), controller); // Act ActionResult result = await controller.ManagePendingCharges(CompetentAuthority.NorthernIreland, A.Dummy <FormCollection>()); // Assert RedirectToRouteResult redirectResult = result as RedirectToRouteResult; Assert.NotNull(redirectResult); Assert.Equal("ChargesSuccessfullyIssued", redirectResult.RouteValues["action"]); Assert.Equal(CompetentAuthority.NorthernIreland, redirectResult.RouteValues["authority"]); Assert.Equal(invoiceRunId, redirectResult.RouteValues["id"]); }
public void PostChooseActivity_WithInvalidModel_ReturnsChooseActivityViewWithViewModelAndAddsAuthorityToViewBag() { // Arrange ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => A.Dummy <IWeeeClient>()); controller.ModelState.AddModelError("key", "Some error"); // Act ActionResult result = controller.ChooseActivity(CompetentAuthority.NorthernIreland, A.Dummy <ChooseActivityViewModel>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "ChooseActivity"); ChooseActivityViewModel viewModel = viewResult.Model as ChooseActivityViewModel; Assert.NotNull(viewModel); Assert.Equal(CompetentAuthority.NorthernIreland, (object)viewResult.ViewBag.Authority); }
public async Task GetDownloadInvoiceFiles_ForEngland_CallsApiAndReturnsFileResult() { // Arrange Guid invoiceRunId = new Guid("ADED8BDE-CF03-4696-B972-DDAB9306A6DD"); FileInfo fileInfo = new FileInfo("Test file.zip", A.Dummy <byte[]>()); IWeeeClient weeeClient = A.Fake <IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <FetchInvoiceRunIbisZipFile> ._)) .WhenArgumentsMatch(a => a.Get <FetchInvoiceRunIbisZipFile>("request").InvoiceRunId == invoiceRunId) .Returns(fileInfo); ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => weeeClient); // Act ActionResult result = await controller.DownloadInvoiceFiles( CompetentAuthority.England, invoiceRunId); // Assert FileResult fileResult = result as FileResult; Assert.NotNull(fileResult); Assert.Equal("Test file.zip", fileResult.FileDownloadName); Assert.Equal("text/plain", fileResult.ContentType); }
public void GetChargesSuccessfullyIssued_ForDevolvedAuthority_ReturnsChargesSuccessfullyIssuedViewWithModelNotAllowingInvoiceDownload() { // Arrange Guid invoiceRunId = new Guid("23610E5E-5B79-4DB0-BD8C-0213A9B44C45"); ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => A.Dummy <IWeeeClient>()); // Act ActionResult result = controller.ChargesSuccessfullyIssued(CompetentAuthority.Scotland, invoiceRunId); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "ChargesSuccessfullyIssued"); Guid?viewModel = viewResult.Model as Guid?; Assert.NotNull(viewModel); Assert.Equal(invoiceRunId, viewModel); Assert.Equal(false, viewResult.ViewBag.AllowDownloadOfInvoiceFiles); }
public void OnActionExecuting_WhenInvoicingEnabledInConfig_DoesntThrowException() { // Arrange IAppConfiguration configuration = A.Fake <IAppConfiguration>(); A.CallTo(() => configuration.EnableInvoicing).Returns(true); ChargeController controller = new ChargeController( configuration, A.Dummy <BreadcrumbService>(), () => A.Dummy <IWeeeClient>()); // Act MethodInfo onActionExecutingMethod = typeof(ChargeController).GetMethod( "OnActionExecuting", BindingFlags.NonPublic | BindingFlags.Instance); object[] args = new object[] { A.Dummy <ActionExecutingContext>() }; try { onActionExecutingMethod.Invoke(controller, args); } catch (TargetInvocationException ex) { throw ex.InnerException; } // Assert // No exception. }
public async Task GetDownloadInvoiceFiles_ForDevolvedAuthority_ThowsInvalidOperationException() { // Arrange Guid invoiceRunId = new Guid("ADED8BDE-CF03-4696-B972-DDAB9306A6DD"); FileInfo fileInfo = new FileInfo("Test file.zip", A.Dummy <byte[]>()); IWeeeClient weeeClient = A.Fake <IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <FetchInvoiceRunIbisZipFile> ._)) .WhenArgumentsMatch(a => a.Get <FetchInvoiceRunIbisZipFile>("request").InvoiceRunId == invoiceRunId) .Returns(fileInfo); ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => weeeClient); // Act Func <Task <ActionResult> > testCode = async() => await controller.DownloadInvoiceFiles( CompetentAuthority.Scotland, invoiceRunId); // Assert await Assert.ThrowsAsync <InvalidOperationException>(testCode); }
public async Task GetInvoiceRuns_ForDevolvedAuthority_ReturnsInvoiceRunsViewWithModelNotAllowingInvoiceDownload() { // Arrange IReadOnlyList <InvoiceRunInfo> results = A.Dummy <IReadOnlyList <InvoiceRunInfo> >(); IWeeeClient weeeClient = A.Fake <IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A <FetchInvoiceRuns> ._)).Returns(results); ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => weeeClient); // Act ActionResult result = await controller.InvoiceRuns(CompetentAuthority.Scotland); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "InvoiceRuns"); IReadOnlyList <InvoiceRunInfo> viewModel = viewResult.Model as IReadOnlyList <InvoiceRunInfo>; Assert.NotNull(viewModel); Assert.Equal(results, viewModel); Assert.Equal(false, viewResult.ViewBag.AllowDownloadOfInvoiceFiles); }
public async Task GetDownloadChargeBreakdown_CallsApiAndReturnsFileResult() { // Arrange Guid invoiceRunId = Guid.NewGuid(); var csvFileData = new CSVFileData { FileName = "Test file.csv", FileContent = "CSV content" }; IWeeeClient weeeClient = A.Fake <IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <FetchInvoiceRunCsv> ._)) .WhenArgumentsMatch(a => a.Get <FetchInvoiceRunCsv>("request").InvoiceRunId == invoiceRunId) .Returns(csvFileData); ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => weeeClient); // Act ActionResult result = await controller.DownloadChargeBreakdown(invoiceRunId); // Assert FileResult fileResult = result as FileResult; Assert.NotNull(fileResult); Assert.Equal("Test file.csv", fileResult.FileDownloadName); Assert.Equal("text/csv", fileResult.ContentType); }
public void OnActionExecuting_WhenInvoicingEnabledInConfig_DoesntThrowException() { // Arrange IAppConfiguration configuration = A.Fake<IAppConfiguration>(); A.CallTo(() => configuration.EnableInvoicing).Returns(true); ChargeController controller = new ChargeController( configuration, A.Dummy<BreadcrumbService>(), () => A.Dummy<IWeeeClient>()); // Act MethodInfo onActionExecutingMethod = typeof(ChargeController).GetMethod( "OnActionExecuting", BindingFlags.NonPublic | BindingFlags.Instance); object[] args = new object[] { A.Dummy<ActionExecutingContext>() }; try { onActionExecutingMethod.Invoke(controller, args); } catch (TargetInvocationException ex) { throw ex.InnerException; } // Assert // No exception. }
public static void Main(string[] args) { #if DEBUG int startingHour = DateTime.Now.Hour; int startingMinute = DateTime.Now.AddMinutes(1).Minute; MyScheduler.IntervalInMinutes(startingHour, startingMinute, 1, () => { ChargeController.UpdateTweets(); }); MyScheduler.IntervalInMinutes(startingHour, startingMinute, 1, () => { TelegramBotController.ProcessMessages(); }); Console.ReadLine(); #endif #if RELEASE ChargeController.FirstCharging(); //Começa às 7h | Intervalo de 1 dia MyScheduler.IntervalInDays(7, 00, 1, () => { ChargeController.UpdateTweets(); }); //Começa às 7h | Intervalo de 1 hora MyScheduler.IntervalInHours(7, 00, 1, () => { TelegramBotController.ProcessMessages(); }); #endif }
internal static ChargeController GetMock() { ChargeController controller = Substitute.For <ChargeController>(ChargeApplicationHelper.GetMock()); controller.PostAsync(Arg.Any <ChargeMessage>()).Returns(PostAsyncReturn); return(controller); }
public override void InternalCast(Unit caster, TargetInfo target) { oldController_ = caster.activeController; targetStartPosition_ = target.TargetUnit.gameObject.transform.position; chargeController_ = caster.gameObject.AddComponent <ChargeController>(); chargeController_.Target = target; chargeController_.initialize(this); }
public void SetActiveCharge(ChargeController _chargeController) { //Deactivate current actice if (chargeController != null) { // chargeController.UnsetToActiveComponent(); } chargeController = _chargeController; UpdateInterface(); }
public async Task RegisterCharge_ValidateAllData_ReturnsTrue(ChargeMessage chargeMessage) { // Arrange ChargeController controller = ChargeControllerHelper.GetMock(); // Act IApplicationResult <bool> result = await controller.PostAsync(chargeMessage) as IApplicationResult <bool>; // Assert Assert.True(result.Data); }
protected override void CastInternal(Unit caster, List <CastTarget> targets) { CastTarget target = targets[0]; oldController = caster.ActiveController; targetStartPosition = target.Unit.gameObject.transform.position; chargeController = caster.gameObject.AddComponent <ChargeController>(); chargeController.Target = new TargetInfo(caster, target.Unit); chargeController.Initialize(this); }
public async Task RegisterCharge_ValidateValue_ReturnsFalse(ChargeMessage chargeMessage) { // Arrange ChargeController controller = ChargeControllerHelper.GetMock(); // Act IApplicationResult <bool> result = await controller.PostAsync(chargeMessage) as IApplicationResult <bool>; // Assert Assert.False(result.Data); Assert.True(result.Messages.Count == 1); Assert.Contains("Value", result.Messages.First()); }
public void ChargeAttack() { if (IsLaserActive) { if (!canPerformAttack) { canPerformAttack = ChargeController.ChargePowerUp(laserObj); if (canPerformAttack) { AudioManager.SetupAudio(laserChargeSound, 2f); Perform(); } } } }
public ChargesPaymentsForm(RestEasyMDIParent re) { InitializeComponent(); this.StartPosition = FormStartPosition.CenterScreen; restEasy = re; this.MdiParent = restEasy; chargeController = new ChargeController(); paymentController = new PaymentController(); accountController = new AccountController(); reservationController = new ReservationController(); amount = 0; radioButton1.Checked = true; rbnCharge.Checked = true; }
public async Task GetIssuedCharges_Always_ReturnsIssuedChargesView() { // Arrange ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => A.Dummy <IWeeeClient>()); // Act ActionResult result = await controller.IssuedCharges(A.Dummy <CompetentAuthority>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "IssuedCharges"); }
public async Task GetIssuedCharges_Always_PopulatesViewBagTriggerDownloadWithFalse() { // Arrange ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => A.Dummy <IWeeeClient>()); // Act ActionResult result = await controller.IssuedCharges(A.Dummy <CompetentAuthority>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.Equal(false, viewResult.ViewBag.TriggerDownload); }
public async Task PostManagePendingCharges_AjaxWithError_ReturnsJsonWithErrors() { Guid invoiceRunId = new Guid("FB95F6E7-8809-488A-B23B-5B3F5A9B3D5F"); var errors = new List <string> { "error" }; IWeeeClient weeeClient = A.Fake <IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <IssuePendingCharges> ._)) .Returns(new IssuePendingChargesResult { Errors = errors }); // Arrange ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => weeeClient); HttpContextBase httpContext = A.Fake <HttpContextBase>(); HttpRequestBase httpRequest = A.Fake <HttpRequestBase>(); A.CallTo(() => httpRequest.Headers).Returns(new WebHeaderCollection { { "X-Requested-With", "XMLHttpRequest" } }); A.CallTo(() => httpContext.Request).Returns(httpRequest); controller.ControllerContext = new ControllerContext(httpContext, new RouteData(), controller); // Act ActionResult result = await controller.ManagePendingCharges(CompetentAuthority.NorthernIreland, A.Dummy <FormCollection>()); // Assert JsonResult jsonResult = result as JsonResult; Assert.NotNull(jsonResult); Type type = jsonResult.Data.GetType(); Assert.Equal(false, (bool)type.GetProperty("Success").GetValue(jsonResult.Data)); Assert.Equal(errors, (List <string>)type.GetProperty("Errors").GetValue(jsonResult.Data)); }
public async Task PostIssuedCharges_WithValidationErrors_PopulatesViewBagTriggerDownloadWithFalse() { // Arrange ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => A.Dummy <IWeeeClient>()); controller.ModelState.AddModelError("key", "error"); // Act ActionResult result = await controller.IssuedCharges(A.Dummy <CompetentAuthority>(), A.Dummy <IssuedChargesViewModel>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.Equal(false, viewResult.ViewBag.TriggerDownload); }
public async Task PostIssuedCharges_Always_PopulatesViewBagWithAuthority() { // Arrange CompetentAuthority authority = A.Dummy <CompetentAuthority>(); ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => A.Dummy <IWeeeClient>()); // Act ActionResult result = await controller.IssuedCharges(authority, A.Dummy <IssuedChargesViewModel>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.Equal(authority, viewResult.ViewBag.Authority); }
public async Task PostManagePendingCharges_NonAjaxWithError_ReturnsIssueChargesErrorView() { Guid invoiceRunId = new Guid("FB95F6E7-8809-488A-B23B-5B3F5A9B3D5F"); var errors = new List <string> { "error" }; IWeeeClient weeeClient = A.Fake <IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <IssuePendingCharges> ._)) .Returns(new IssuePendingChargesResult { Errors = errors }); // Arrange ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => weeeClient); HttpContextBase httpContext = A.Fake <HttpContextBase>(); HttpRequestBase httpRequest = A.Fake <HttpRequestBase>(); A.CallTo(() => httpContext.Request).Returns(httpRequest); controller.ControllerContext = new ControllerContext(httpContext, new RouteData(), controller); // Act ActionResult result = await controller.ManagePendingCharges(CompetentAuthority.NorthernIreland, A.Dummy <FormCollection>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "IssueChargesError"); var viewModel = viewResult.Model as List <string>; Assert.Equal(errors, viewModel); }
public async Task GetDownloadIssuedChargesCsv_Always_ReturnsFileResultWithContentTypeOfTextCsv() { // Arrange ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => A.Dummy <IWeeeClient>()); // Act ActionResult result = await controller.DownloadIssuedChargesCsv( A.Dummy <CompetentAuthority>(), A.Dummy <int>(), A.Dummy <Guid>()); // Assert FileResult fileResult = result as FileResult; Assert.NotNull(fileResult); Assert.Equal("text/csv", fileResult.ContentType); }
public void GetSelectAuthority_Always_ReturnsSelectAuthorityViewWithViewModel() { // Arrange ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => A.Dummy <IWeeeClient>()); // Act ActionResult result = controller.SelectAuthority(); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "SelectAuthority"); SelectAuthorityViewModel viewModel = viewResult.Model as SelectAuthorityViewModel; Assert.NotNull(viewModel); }
public async Task GetIssuedCharges_Always_CallsApiAndPopulatesViewModel() { // Arrange CompetentAuthority authority = A.Dummy <CompetentAuthority>(); IWeeeClient weeeClient = A.Fake <IWeeeClient>(); List <int> complianceYears = A.Dummy <List <int> >(); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <FetchComplianceYearsWithInvoices> ._)) .WhenArgumentsMatch(a => a.Get <FetchComplianceYearsWithInvoices>("request").Authority == authority) .Returns(complianceYears); List <SchemeData> schemes = A.Dummy <List <SchemeData> >(); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <FetchSchemesWithInvoices> ._)) .WhenArgumentsMatch(a => a.Get <FetchSchemesWithInvoices>("request").Authority == authority) .Returns(schemes); ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => weeeClient); // Act ActionResult result = await controller.IssuedCharges(authority); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); IssuedChargesViewModel viewModel = viewResult.Model as IssuedChargesViewModel; Assert.NotNull(viewModel); Assert.Equal(complianceYears, viewModel.ComplianceYears); Assert.Equal(schemes, viewModel.Schemes); }
public void PostChooseActivity_WithViewInvoiceRunHistorySelected_RedirectsToInvoiceRunsActionWithSelectedAuthority() { // Arrange ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => A.Dummy <IWeeeClient>()); ChooseActivityViewModel viewModel = new ChooseActivityViewModel(); viewModel.SelectedActivity = Activity.ViewInvoiceRunHistory; // Act ActionResult result = controller.ChooseActivity(CompetentAuthority.NorthernIreland, viewModel); // Assert RedirectToRouteResult redirectResult = result as RedirectToRouteResult; Assert.NotNull(redirectResult); Assert.Equal("InvoiceRuns", redirectResult.RouteValues["action"]); Assert.Equal(CompetentAuthority.NorthernIreland, redirectResult.RouteValues["authority"]); }
public async Task GetManagePendingCharges_Always_ReturnsManagePendingChargesViewWithViewModelAndAddsAuthorityToViewBag() { var managePendingCharges = new ManagePendingCharges { PendingCharges = A.Dummy <IList <PendingCharge> >(), CanUserIssueCharges = A.Dummy <bool>() }; //IList<PendingCharge> pendingCharges = A.Dummy<IList<PendingCharge>>(); IWeeeClient weeeClient = A.Fake <IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <FetchPendingCharges> ._)) .Returns(managePendingCharges); // Arrange ChargeController controller = new ChargeController( A.Dummy <IAppConfiguration>(), A.Dummy <BreadcrumbService>(), () => weeeClient); // Act ActionResult result = await controller.ManagePendingCharges(CompetentAuthority.NorthernIreland); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "ManagePendingCharges"); ManagePendingChargesViewModel viewModel = viewResult.Model as ManagePendingChargesViewModel; Assert.Equal(managePendingCharges.PendingCharges, viewModel.PendingCharges); Assert.Equal(managePendingCharges.CanUserIssueCharges, viewModel.CanUserIssueCharges); Assert.Equal(CompetentAuthority.NorthernIreland, (object)viewResult.ViewBag.Authority); }
public async Task PostIssuedCharges_WithValidationErrors_PopulatesViewBagTriggerDownloadWithFalse() { // Arrange ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => A.Dummy<IWeeeClient>()); controller.ModelState.AddModelError("key", "error"); // Act ActionResult result = await controller.IssuedCharges(A.Dummy<CompetentAuthority>(), A.Dummy<IssuedChargesViewModel>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.Equal(false, viewResult.ViewBag.TriggerDownload); }
public async Task PostIssuedCharges_Always_PopulatesViewBagWithAuthority() { // Arrange CompetentAuthority authority = A.Dummy<CompetentAuthority>(); ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => A.Dummy<IWeeeClient>()); // Act ActionResult result = await controller.IssuedCharges(authority, A.Dummy<IssuedChargesViewModel>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.Equal(authority, viewResult.ViewBag.Authority); }
public async Task GetDownloadIssuedChargesCsv_Always_ReturnsFileResultWithContentTypeOfTextCsv() { // Arrange ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => A.Dummy<IWeeeClient>()); // Act ActionResult result = await controller.DownloadIssuedChargesCsv( A.Dummy<CompetentAuthority>(), A.Dummy<int>(), A.Dummy<string>()); // Assert FileResult fileResult = result as FileResult; Assert.NotNull(fileResult); Assert.Equal("text/csv", fileResult.ContentType); }
public void OnActionExecuting_Always_SetsBreadcrumbInternalActivityToManageCharges() { // Arrange IAppConfiguration configuration = A.Fake<IAppConfiguration>(); A.CallTo(() => configuration.EnableInvoicing).Returns(true); BreadcrumbService breadcrumb = new BreadcrumbService(); ChargeController controller = new ChargeController( configuration, breadcrumb, () => A.Dummy<IWeeeClient>()); // Act MethodInfo onActionExecutingMethod = typeof(ChargeController).GetMethod( "OnActionExecuting", BindingFlags.NonPublic | BindingFlags.Instance); object[] args = new object[] { A.Dummy<ActionExecutingContext>() }; try { onActionExecutingMethod.Invoke(controller, args); } catch (TargetInvocationException ex) { throw ex.InnerException; } // Assert Assert.Equal("Manage PCS charges", breadcrumb.InternalActivity); }
public async Task GetDownloadChargeBreakdown_CallsApiAndReturnsFileResult() { // Arrange Guid invoiceRunId = Guid.NewGuid(); var csvFileData = new CSVFileData { FileName = "Test file.csv", FileContent = "CSV content" }; IWeeeClient weeeClient = A.Fake<IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<FetchInvoiceRunCsv>._)) .WhenArgumentsMatch(a => a.Get<FetchInvoiceRunCsv>("request").InvoiceRunId == invoiceRunId) .Returns(csvFileData); ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => weeeClient); // Act ActionResult result = await controller.DownloadChargeBreakdown(invoiceRunId); // Assert FileResult fileResult = result as FileResult; Assert.NotNull(fileResult); Assert.Equal("Test file.csv", fileResult.FileDownloadName); Assert.Equal("text/csv", fileResult.ContentType); }
public async Task PostManagePendingCharges_NonAjaxWithNoError_CallsApiAndRedirectsToChargesSuccessfullyIssuedActionWithAuthorityAndInvoiceRunId() { Guid invoiceRunId = new Guid("FB95F6E7-8809-488A-B23B-5B3F5A9B3D5F"); IWeeeClient weeeClient = A.Fake<IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<IssuePendingCharges>._)) .Returns(new IssuePendingChargesResult { Errors = new List<string>(), InvoiceRunId = invoiceRunId }); // Arrange ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => weeeClient); HttpContextBase httpContext = A.Fake<HttpContextBase>(); HttpRequestBase httpRequest = A.Fake<HttpRequestBase>(); A.CallTo(() => httpContext.Request).Returns(httpRequest); controller.ControllerContext = new ControllerContext(httpContext, new RouteData(), controller); // Act ActionResult result = await controller.ManagePendingCharges(CompetentAuthority.NorthernIreland, A.Dummy<FormCollection>()); // Assert RedirectToRouteResult redirectResult = result as RedirectToRouteResult; Assert.NotNull(redirectResult); Assert.Equal("ChargesSuccessfullyIssued", redirectResult.RouteValues["action"]); Assert.Equal(CompetentAuthority.NorthernIreland, redirectResult.RouteValues["authority"]); Assert.Equal(invoiceRunId, redirectResult.RouteValues["id"]); }
public void PostChooseActivity_WithViewInvoiceRunHistorySelected_RedirectsToInvoiceRunsActionWithSelectedAuthority() { // Arrange ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => A.Dummy<IWeeeClient>()); ChooseActivityViewModel viewModel = new ChooseActivityViewModel(); viewModel.SelectedActivity = Activity.ViewInvoiceRunHistory; // Act ActionResult result = controller.ChooseActivity(CompetentAuthority.NorthernIreland, viewModel); // Assert RedirectToRouteResult redirectResult = result as RedirectToRouteResult; Assert.NotNull(redirectResult); Assert.Equal("InvoiceRuns", redirectResult.RouteValues["action"]); Assert.Equal(CompetentAuthority.NorthernIreland, redirectResult.RouteValues["authority"]); }
public async Task GetDownloadIssuedChargesCsv_Always_CallsApiAndReturnsFileResultWithCorrectFileName() { // Arrange CompetentAuthority authority = A.Dummy<CompetentAuthority>(); int complianceYear = A.Dummy<int>(); string schemeName = A.Dummy<string>(); IWeeeClient weeeClient = A.Fake<IWeeeClient>(); FileInfo fileInfo = new FileInfo("filename", new byte[] { 1, 2, 3 }); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<FetchIssuedChargesCsv>._)) .WhenArgumentsMatch(a => a.Get<FetchIssuedChargesCsv>("request").Authority == authority && a.Get<FetchIssuedChargesCsv>("request").ComplianceYear == complianceYear && a.Get<FetchIssuedChargesCsv>("request").SchemeName == schemeName) .Returns(fileInfo); ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => weeeClient); // Act ActionResult result = await controller.DownloadIssuedChargesCsv(authority, complianceYear, schemeName); // Assert FileResult fileResult = result as FileResult; Assert.NotNull(fileResult); Assert.Equal("filename", fileResult.FileDownloadName); }
public void GetChargesSuccessfullyIssued_ForDevolvedAuthority_ReturnsChargesSuccessfullyIssuedViewWithModelNotAllowingInvoiceDownload() { // Arrange Guid invoiceRunId = new Guid("23610E5E-5B79-4DB0-BD8C-0213A9B44C45"); ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => A.Dummy<IWeeeClient>()); // Act ActionResult result = controller.ChargesSuccessfullyIssued(CompetentAuthority.Scotland, invoiceRunId); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "ChargesSuccessfullyIssued"); Guid? viewModel = viewResult.Model as Guid?; Assert.NotNull(viewModel); Assert.Equal(invoiceRunId, viewModel); Assert.Equal(false, viewResult.ViewBag.AllowDownloadOfInvoiceFiles); }
public async Task GetDownloadInvoiceFiles_ForEngland_CallsApiAndReturnsFileResult() { // Arrange Guid invoiceRunId = new Guid("ADED8BDE-CF03-4696-B972-DDAB9306A6DD"); FileInfo fileInfo = new FileInfo("Test file.zip", A.Dummy<byte[]>()); IWeeeClient weeeClient = A.Fake<IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<FetchInvoiceRunIbisZipFile>._)) .WhenArgumentsMatch(a => a.Get<FetchInvoiceRunIbisZipFile>("request").InvoiceRunId == invoiceRunId) .Returns(fileInfo); ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => weeeClient); // Act ActionResult result = await controller.DownloadInvoiceFiles( CompetentAuthority.England, invoiceRunId); // Assert FileResult fileResult = result as FileResult; Assert.NotNull(fileResult); Assert.Equal("Test file.zip", fileResult.FileDownloadName); Assert.Equal("text/plain", fileResult.ContentType); }
public async Task GetManagePendingCharges_Always_ReturnsManagePendingChargesViewWithViewModelAndAddsAuthorityToViewBag() { var managePendingCharges = new ManagePendingCharges { PendingCharges = A.Dummy<IList<PendingCharge>>(), CanUserIssueCharges = A.Dummy<bool>() }; //IList<PendingCharge> pendingCharges = A.Dummy<IList<PendingCharge>>(); IWeeeClient weeeClient = A.Fake<IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<FetchPendingCharges>._)) .Returns(managePendingCharges); // Arrange ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => weeeClient); // Act ActionResult result = await controller.ManagePendingCharges(CompetentAuthority.NorthernIreland); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "ManagePendingCharges"); ManagePendingChargesViewModel viewModel = viewResult.Model as ManagePendingChargesViewModel; Assert.Equal(managePendingCharges.PendingCharges, viewModel.PendingCharges); Assert.Equal(managePendingCharges.CanUserIssueCharges, viewModel.CanUserIssueCharges); Assert.Equal(CompetentAuthority.NorthernIreland, (object)viewResult.ViewBag.Authority); }
public async Task GetInvoiceRuns_ForDevolvedAuthority_ReturnsInvoiceRunsViewWithModelNotAllowingInvoiceDownload() { // Arrange IReadOnlyList<InvoiceRunInfo> results = A.Dummy<IReadOnlyList<InvoiceRunInfo>>(); IWeeeClient weeeClient = A.Fake<IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A<FetchInvoiceRuns>._)).Returns(results); ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => weeeClient); // Act ActionResult result = await controller.InvoiceRuns(CompetentAuthority.Scotland); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "InvoiceRuns"); IReadOnlyList<InvoiceRunInfo> viewModel = viewResult.Model as IReadOnlyList<InvoiceRunInfo>; Assert.NotNull(viewModel); Assert.Equal(results, viewModel); Assert.Equal(false, viewResult.ViewBag.AllowDownloadOfInvoiceFiles); }
public async Task PostManagePendingCharges_AjaxWithError_ReturnsJsonWithErrors() { Guid invoiceRunId = new Guid("FB95F6E7-8809-488A-B23B-5B3F5A9B3D5F"); var errors = new List<string> { "error" }; IWeeeClient weeeClient = A.Fake<IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<IssuePendingCharges>._)) .Returns(new IssuePendingChargesResult { Errors = errors }); // Arrange ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => weeeClient); HttpContextBase httpContext = A.Fake<HttpContextBase>(); HttpRequestBase httpRequest = A.Fake<HttpRequestBase>(); A.CallTo(() => httpRequest.Headers).Returns(new WebHeaderCollection { { "X-Requested-With", "XMLHttpRequest" } }); A.CallTo(() => httpContext.Request).Returns(httpRequest); controller.ControllerContext = new ControllerContext(httpContext, new RouteData(), controller); // Act ActionResult result = await controller.ManagePendingCharges(CompetentAuthority.NorthernIreland, A.Dummy<FormCollection>()); // Assert JsonResult jsonResult = result as JsonResult; Assert.NotNull(jsonResult); Type type = jsonResult.Data.GetType(); Assert.Equal(false, (bool)type.GetProperty("Success").GetValue(jsonResult.Data)); Assert.Equal(errors, (List<string>)type.GetProperty("Errors").GetValue(jsonResult.Data)); }
public async Task PostIssuedCharges_Always_CallsApiAndPopulatesViewModel() { // Arrange CompetentAuthority authority = A.Dummy<CompetentAuthority>(); IWeeeClient weeeClient = A.Fake<IWeeeClient>(); List<int> complianceYears = A.Dummy<List<int>>(); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<FetchComplianceYearsWithInvoices>._)) .WhenArgumentsMatch(a => a.Get<FetchComplianceYearsWithInvoices>("request").Authority == authority) .Returns(complianceYears); List<string> schemeNames = A.Dummy<List<string>>(); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<FetchSchemesWithInvoices>._)) .WhenArgumentsMatch(a => a.Get<FetchSchemesWithInvoices>("request").Authority == authority) .Returns(schemeNames); ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => weeeClient); // Act ActionResult result = await controller.IssuedCharges(authority, A.Dummy<IssuedChargesViewModel>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); IssuedChargesViewModel viewModel = viewResult.Model as IssuedChargesViewModel; Assert.NotNull(viewModel); Assert.Equal(complianceYears, viewModel.ComplianceYears); Assert.Equal(schemeNames, viewModel.SchemeNames); }
public void PostChooseActivity_WithInvalidModel_ReturnsChooseActivityViewWithViewModelAndAddsAuthorityToViewBag() { // Arrange ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => A.Dummy<IWeeeClient>()); controller.ModelState.AddModelError("key", "Some error"); // Act ActionResult result = controller.ChooseActivity(CompetentAuthority.NorthernIreland, A.Dummy<ChooseActivityViewModel>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "ChooseActivity"); ChooseActivityViewModel viewModel = viewResult.Model as ChooseActivityViewModel; Assert.NotNull(viewModel); Assert.Equal(CompetentAuthority.NorthernIreland, (object)viewResult.ViewBag.Authority); }
public async Task PostIssuedCharges_Always_ReturnsIssuedChargesView() { // Arrange ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => A.Dummy<IWeeeClient>()); // Act ActionResult result = await controller.IssuedCharges( A.Dummy<CompetentAuthority>(), A.Dummy<IssuedChargesViewModel>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "IssuedCharges"); }
public void PostSelectAuthority_WithInvalidModel_ReturnsSelectAuthorityViewWithViewModel() { // Arrange ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => A.Dummy<IWeeeClient>()); controller.ModelState.AddModelError("key", "Some error"); // Act ActionResult result = controller.SelectAuthority(A.Dummy<SelectAuthorityViewModel>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "SelectAuthority"); SelectAuthorityViewModel viewModel = viewResult.Model as SelectAuthorityViewModel; Assert.NotNull(viewModel); }
public async Task GetIssuedCharges_Always_PopulatesViewBagTriggerDownloadWithFalse() { // Arrange ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => A.Dummy<IWeeeClient>()); // Act ActionResult result = await controller.IssuedCharges(A.Dummy<CompetentAuthority>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.Equal(false, viewResult.ViewBag.TriggerDownload); }
public void GetSelectAuthority_Always_ReturnsSelectAuthorityViewWithViewModel() { // Arrange ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => A.Dummy<IWeeeClient>()); // Act ActionResult result = controller.SelectAuthority(); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "SelectAuthority"); SelectAuthorityViewModel viewModel = viewResult.Model as SelectAuthorityViewModel; Assert.NotNull(viewModel); }
public async Task GetDownloadInvoiceFiles_ForDevolvedAuthority_ThowsInvalidOperationException() { // Arrange Guid invoiceRunId = new Guid("ADED8BDE-CF03-4696-B972-DDAB9306A6DD"); FileInfo fileInfo = new FileInfo("Test file.zip", A.Dummy<byte[]>()); IWeeeClient weeeClient = A.Fake<IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<FetchInvoiceRunIbisZipFile>._)) .WhenArgumentsMatch(a => a.Get<FetchInvoiceRunIbisZipFile>("request").InvoiceRunId == invoiceRunId) .Returns(fileInfo); ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => weeeClient); // Act Func<Task<ActionResult>> testCode = async () => await controller.DownloadInvoiceFiles( CompetentAuthority.Scotland, invoiceRunId); // Assert await Assert.ThrowsAsync<InvalidOperationException>(testCode); }
public async Task PostManagePendingCharges_NonAjaxWithError_ReturnsIssueChargesErrorView() { Guid invoiceRunId = new Guid("FB95F6E7-8809-488A-B23B-5B3F5A9B3D5F"); var errors = new List<string> { "error" }; IWeeeClient weeeClient = A.Fake<IWeeeClient>(); A.CallTo(() => weeeClient.SendAsync(A<string>._, A<IssuePendingCharges>._)) .Returns(new IssuePendingChargesResult { Errors = errors }); // Arrange ChargeController controller = new ChargeController( A.Dummy<IAppConfiguration>(), A.Dummy<BreadcrumbService>(), () => weeeClient); HttpContextBase httpContext = A.Fake<HttpContextBase>(); HttpRequestBase httpRequest = A.Fake<HttpRequestBase>(); A.CallTo(() => httpContext.Request).Returns(httpRequest); controller.ControllerContext = new ControllerContext(httpContext, new RouteData(), controller); // Act ActionResult result = await controller.ManagePendingCharges(CompetentAuthority.NorthernIreland, A.Dummy<FormCollection>()); // Assert ViewResult viewResult = result as ViewResult; Assert.NotNull(viewResult); Assert.True(viewResult.ViewName == string.Empty || viewResult.ViewName == "IssueChargesError"); var viewModel = viewResult.Model as List<string>; Assert.Equal(errors, viewModel); }