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 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);
        }