void _renewMembershipView_RenewMembership(object sender, EventArgs e)
        {
            var member = _tempDataRepository.GetMemberValues();
            var nationalFitnessResultsDto = _nationalFitnessGateway.VerifyMember(member);

            if (!nationalFitnessResultsDto.IsVerified)
            {
                _renewMembershipView.Message = ApplicationConstants.NATIONAL_FITNESS_MEMBERSHIP_NOT_VERIFIED;
                return;
            }

            var isPaid = _ccProcessingGateway.PayDuesByMembershipId(member.GymMembershipId);

            if (!isPaid)
            {
                _renewMembershipView.Message = ApplicationConstants.CC_CHARGES_NOT_APPROVED;
                return;
            }

            _memberRepository.SaveMember(member);
            _renewMembershipView.Message = ApplicationConstants.FormatApprovalMessageForMember(member, isPaid);
        }
        public void RenewMembershipEvent_MemberInput_InstructsToGoToNextView()
        {
            // define out expectations (of how the Presenter will coordinate the interfaces
            _renewMembershipView.Initialize += null;
            LastCall.IgnoreArguments();
            _renewMembershipView.RenewMembership += null;
            var renewMembershipEvent = LastCall.IgnoreArguments().GetEventRaiser();

            const string firstName       = "Sally";
            const string lastName        = "Wong";
            const string gymMembershipId = "AB1234";
            var          member          = new Member {
                FirstName = firstName, LastName = lastName, GymMembershipId = gymMembershipId
            };

            Expect.Call(_tempDataRepository.GetMemberValues()).Return(member);

            var nationalFitnessResultsDto = new NationalFitnessResultsDTO {
                IsVerified = true
            };

            Expect.Call(_nationalFitnessGateway.VerifyMember(member)).Return(nationalFitnessResultsDto);

            const bool isPaid = true;

            Expect.Call(_ccProcessingGateway.PayDuesByMembershipId(member.GymMembershipId)).Return(isPaid);

            _memberRepository.SaveMember(member);

            _renewMembershipView.Message = ApplicationConstants.FormatApprovalMessageForMember(member, isPaid);
            _mockRepository.ReplayAll();

            var sut = new RenewMembershipPresenter(_tempDataRepository, _nationalFitnessGateway,
                                                   _ccProcessingGateway, _memberRepository, _renewMembershipView);

            renewMembershipEvent.Raise(_renewMembershipView, EventArgs.Empty);

            _mockRepository.VerifyAll();
        }