public void NextHandlerValidSubscriptionNoLocalCertificateTest()
        {
            //Arrange
            IAuthorisationView mockView = MockRepository.GenerateMock<IAuthorisationView>();
            mockView.Expect(x => x.GetSelectedSubscription()).Return(string.Empty);
            mockView.Expect(x => x.GetSelectedCertificate()).Return(string.Empty);

            IViewError mockErrorView = MockRepository.GenerateStrictMock<IViewError>();
            mockErrorView.Expect(x => x.NotifyOfError(Arg<Exception>.Is.Anything));

            IWizard mockWizard = MockRepository.GenerateMock<IWizard>();
            mockWizard.Expect(x => x.HasSubscription(Arg<string>.Is.Anything, Arg<string>.Is.Anything)).Return(true);
            mockWizard.Expect(x => x.GetSTSThumbPrint(Arg<string>.Is.Anything, Arg<string>.Is.Anything)).Return(String.Empty);

            CertificateManager mockManager = MockRepository.GenerateMock<CertificateManager>();
            mockManager.Expect(x => x.CertificateExistsLocally(Arg<string>.Is.Anything)).Return(false);

            X509Certificate2 mockCertificate = MockRepository.GenerateStub<X509Certificate2>();
            mockCertificate.Stub(x => x.Thumbprint).Return(string.Empty);

            model = new OverRiddenAuthorisationModel_1(mockView,mockWizard,mockManager,mockErrorView);

            model.certificateSTS = mockCertificate;

            //Act
            model.NextHandler(new object(), new EventArgs());

            //Assert
            mockView.VerifyAllExpectations();
            mockWizard.VerifyAllExpectations();
            mockErrorView.VerifyAllExpectations();
            mockManager.VerifyAllExpectations();
        }
        public void NextHandlerInvalidSubscriptionTest()
        {
            //Arrange
            IAuthorisationView mockView = MockRepository.GenerateMock<IAuthorisationView>();
            mockView.Expect(x => x.GetSelectedSubscription()).Return(string.Empty);
            mockView.Expect(x => x.GetSelectedCertificate()).Return(string.Empty);

            IWizard mockWizard = MockRepository.GenerateMock<IWizard>();
            mockWizard.Stub(x => x.AddSubscription(Arg<string>.Is.Anything, Arg<string>.Is.Anything,
                Arg<string>.Is.Anything, Arg<string>.Is.Anything));
            mockWizard.Expect(x => x.HasSubscription(Arg<string>.Is.Anything, Arg<string>.Is.Anything)).Return(false);
            mockWizard.Stub(x => x.SaveSubscriptions());

            X509Certificate2 mockCertificate = MockRepository.GenerateStub<X509Certificate2>();
            mockCertificate.Stub(x => x.Thumbprint).Return(string.Empty);

            model = new OverRiddenAuthorisationModel_1(mockView,mockWizard);
            model.certificateSTS = mockCertificate;

            //Act
            model.NextHandler(new object(), new EventArgs());

            //Assert
            mockView.VerifyAllExpectations();
            mockWizard.VerifyAllExpectations();
        }