public async Task PostConfirmOrganisationDetails_ValidModel_ReturnsConfirmationView()
        {
            // Arrange
            IWeeeClient weeeClient = A.Fake<IWeeeClient>();
            
            ISearcher<OrganisationSearchResult> organisationSearcher = A.Dummy<ISearcher<OrganisationSearchResult>>();

            OrganisationRegistrationController controller = new OrganisationRegistrationController(
                () => weeeClient,
                organisationSearcher);

            A.CallTo(() => weeeClient.SendAsync(A<string>._, A<CompleteRegistration>._))
                .Returns(Guid.NewGuid());

            OrganisationSummaryViewModel model = new OrganisationSummaryViewModel();

            // Act
            ActionResult result = await controller.ConfirmOrganisationDetails(model, Guid.NewGuid());

            // Assert
            var redirectToRouteResult = ((RedirectToRouteResult)result);

            Assert.Equal("Confirmation", redirectToRouteResult.RouteValues["action"]);
        }
        public async Task PostConfirmOrganisationDetails_WithInvalidModel_ReturnsView()
        {
            // Arrange
            IWeeeClient weeeClient = A.Dummy<IWeeeClient>();
            ISearcher<OrganisationSearchResult> organisationSearcher = A.Dummy<ISearcher<OrganisationSearchResult>>();

            OrganisationRegistrationController controller = new OrganisationRegistrationController(
                () => weeeClient,
                organisationSearcher);

            controller.ModelState.AddModelError("Key", "Error");

            OrganisationSummaryViewModel model = new OrganisationSummaryViewModel();

            // Act
            ActionResult result = await controller.ConfirmOrganisationDetails(model, Guid.NewGuid());

            // Assert
            ViewResult viewResult = result as ViewResult;
            Assert.False(viewResult.ViewData.ModelState.IsValid);
        }