public VacancyDetailViewModel Build()
        {
            var model = new VacancyDetailViewModel
            {
                VacancyStatus = _vacancyStatus
            };

            return(model);
        }
Example #2
0
        public void VacancyUnavailable()
        {
            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyStatus = VacancyStatuses.Unavailable,
            };

            var mediator = GetMediator(vacancyDetailViewModel);
            var response = mediator.Details(VacancyId, null, null);

            response.AssertCode(TraineeshipSearchMediatorCodes.Details.VacancyNotFound, false);
        }
Example #3
0
        public void HideFutureProspects()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress = new AddressViewModel()
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-future-prospects").Should().BeNull();
        }
Example #4
0
        public void HideRealityCheck()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress = new AddressViewModel()
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-reality-check").Should().BeNull();
        }
Example #5
0
        public void Ok()
        {
            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyStatus = VacancyStatuses.Live
            };

            ApprenticeshipVacancyDetailProvider.Setup(p => p.GetVacancyDetailViewModel(It.IsAny <Guid?>(), It.IsAny <int>())).Returns(vacancyDetailViewModel);

            var response = Mediator.Details(Id, null);

            response.AssertCode(ApprenticeshipSearchMediatorCodes.Details.Ok, true);
        }
Example #6
0
        private ITraineeshipSearchMediator GetMediator(VacancyDetailViewModel vacancyDetailViewModel)
        {
            var configurationManager             = new Mock <IConfigurationManager>();
            var searchProvider                   = new Mock <ISearchProvider>();
            var traineeshipVacancyDetailProvider = new Mock <ITraineeshipVacancyDetailProvider>();

            traineeshipVacancyDetailProvider.Setup(
                p => p.GetVacancyDetailViewModel(It.IsAny <Guid?>(), It.IsAny <int>())).Returns(vacancyDetailViewModel);

            var userDataProvider = GetUserDataProvider();

            return(GetMediator(configurationManager.Object, searchProvider.Object, traineeshipVacancyDetailProvider.Object, userDataProvider.Object));
        }
Example #7
0
        public void HideEmployerDescription()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress      = new AddressViewModel(),
                IsEmployerAnonymous = true
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-employer-description").Should().BeNull();
        }
Example #8
0
        public void ShowRealityCheck()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress = new AddressViewModel(),
                RealityCheck   = SomeString
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-reality-check").InnerText.Should().Be(SomeString);
        }
Example #9
0
        public void VacancyIsUnavailble_CandidateLoggedInButHasNeverAppliedForVacancy()
        {
            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyStatus = VacancyStatuses.Unavailable
            };

            ApprenticeshipVacancyDetailProvider.Setup(
                p => p.GetVacancyDetailViewModel(It.IsAny <Guid?>(), It.IsAny <int>())).Returns(vacancyDetailViewModel);

            var response = Mediator.Details(Id, Guid.NewGuid());

            response.AssertCode(ApprenticeshipSearchMediatorCodes.Details.VacancyNotFound);
        }
Example #10
0
        public void DontShowDistanceItThereIsNoDistanceToShow()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress = new AddressViewModel(),
                Distance       = NoValue
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-distance").Should().BeNull();
        }
Example #11
0
        public void ShowFutureProspects()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress  = new AddressViewModel(),
                FutureProspects = SomeString
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-future-prospects").InnerText.Should().Be(SomeString);
        }
Example #12
0
        public void ShouldNotShowSearchReturnUrlLink()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress = new AddressViewModel()
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("lnk-return-search-results").Should().BeNull("Return to search results should not be shown.");
            view.GetElementbyId("lnk-find-traineeship").Should().NotBeNull("Find a traineeship link should be shown.");
        }
Example #13
0
        public void ShouldNotSeeAnyInfoIfModelHasError()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress   = new AddressViewModel(),
                ViewModelMessage = SomeString
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-info").Should().BeNull("Should not appear any vacancy information");
        }
Example #14
0
        public void DontShowDistanceItThereIsNoDistanceToShow()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress      = new AddressViewModel(),
                VacancyLocationType = ApprenticeshipLocationType.NonNational
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-distance").Should().BeNull();
        }
Example #15
0
        public void ShowDistance()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress = new AddressViewModel(),
                Distance       = SomeString
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-distance").InnerText.Should().Be(SomeString + " miles");
        }
Example #16
0
        public void HideRecruitmentAgencyIfItsAnonymous()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress = new AddressViewModel(),
                IsRecruitmentAgencyAnonymous = true
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("recruitment-agency-name")
            .Should().BeNull("The recruitment agency should not be shown if it's anonymous.");
        }
Example #17
0
        public void ShowEmployerDescription()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress      = new AddressViewModel(),
                IsEmployerAnonymous = false,
                EmployerDescription = SomeString
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-employer-description").InnerText.Should().Be(SomeString);
        }
Example #18
0
        public void ShowProviderContact()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress = new AddressViewModel(),
                Contact        = SomeString
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-provider-contact").InnerText
            .Should()
            .Contain(SomeString, "The provider contact should be shown if the value is set.");
        }
Example #19
0
        public void ShowWellFormedEmployerWebSite()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress = new AddressViewModel(),
                IsWellFormedEmployerWebsiteUrl = true,
                EmployerWebsite = SomeString
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-employer-website").Attributes["href"].Value.Should().Be(SomeString,
                                                                                                 string.Format("The employer website url should be shown and should be {0}", SomeString));
        }
Example #20
0
        public void ShowNotSpecifiedExpectedDuration()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress   = new AddressViewModel(),
                ExpectedDuration = NoValue
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-expected-duration").InnerText
            .Should()
            .Be("Not specified");
        }
Example #21
0
        public void PopulateDistance()
        {
            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyStatus = VacancyStatuses.Live
            };

            ApprenticeshipVacancyDetailProvider.Setup(p => p.GetVacancyDetailViewModel(It.IsAny <Guid?>(), It.IsAny <int>())).Returns(vacancyDetailViewModel);

            UserDataProvider.Setup(udp => udp.Pop(CandidateDataItemNames.VacancyDistance)).Returns(VacancyDistance);
            UserDataProvider.Setup(udp => udp.Pop(CandidateDataItemNames.LastViewedVacancyId)).Returns(Convert.ToString(Id));

            var response = Mediator.Details(Id, null);

            response.AssertCode(ApprenticeshipSearchMediatorCodes.Details.Ok, true);
        }
Example #22
0
        public void ShouldShowSearchReturnUrlLink()
        {
            const string someUrl = "findapprenticeship.service.gov.uk";
            var          details = new Details();

            details.ViewBag.SearchReturnUrl = someUrl;

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress = new AddressViewModel()
            };
            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("lnk-return-search-results").Should().NotBeNull("Return to search results should be shown.");
            view.GetElementbyId("lnk-return-search-results").Attributes["href"].Value.Should().Be(someUrl);
        }
Example #23
0
        public void ShowExpectedDuration()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress   = new AddressViewModel(),
                ExpectedDuration = SomeString
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-expected-duration").InnerText
            .Should()
            .Be(SomeString);
        }
Example #24
0
        public void HideOtherInformation()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress   = new AddressViewModel(),
                OtherInformation = NoValue
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("other-information")
            .Should()
            .BeNull("Other information should not be shown if the value is not set.");
        }
Example #25
0
        public void ShowOtherInformation()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress   = new AddressViewModel(),
                OtherInformation = SomeString
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacany-other-information").InnerText
            .Should()
            .Contain(SomeString, "Other information should be shown if the value is set.");
        }
Example #26
0
        public void HideShowBeforeApplyIfApplyingViaEmployerWebsite()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress          = new AddressViewModel(),
                ApplyViaEmployerWebsite = true
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("before-apply")
            .Should()
            .BeNull("Before apply should not be shown if the user has to apply via employer's website");
        }
Example #27
0
        public void VacancyHasError()
        {
            const string message = "The vacancy has an error";

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                ViewModelMessage = message,
                VacancyStatus    = VacancyStatuses.Live
            };

            ApprenticeshipVacancyDetailProvider.Setup(p => p.GetVacancyDetailViewModel(It.IsAny <Guid?>(), It.IsAny <int>())).Returns(vacancyDetailViewModel);

            var response = Mediator.Details(Id, null);

            response.AssertMessage(ApprenticeshipSearchMediatorCodes.Details.VacancyHasError, message, UserMessageLevel.Warning, true);
        }
Example #28
0
        public void HideRecruitmentAgencyIfItHasNotSet()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress = new AddressViewModel(),
                IsRecruitmentAgencyAnonymous = false,
                RecruitmentAgency            = NoValue
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("recruitment-agency-name")
            .Should().BeNull("The recruitment agency should not be shown if the value is not set.");
        }
Example #29
0
        public void ShouldNotShowClosingDateForExpiredVacancy()
        {
            // Arrange.
            var index = new Apply();
            var vm    = new VacancyDetailViewModel
            {
                VacancyStatus = VacancyStatuses.Expired,
                ClosingDate   = DateTime.Today.AddDays(-42)
            };

            // Act.
            var view = index.RenderAsHtml(vm);

            // Assert.
            view.GetElementbyId("vacancy-closing-date").Should().BeNull();
        }
Example #30
0
        public void HideProviderContact()
        {
            var details = new Details();

            var vacancyDetailViewModel = new VacancyDetailViewModel
            {
                VacancyAddress = new AddressViewModel(),
                Contact        = NoValue
            };

            var view = details.RenderAsHtml(vacancyDetailViewModel);

            view.GetElementbyId("vacancy-provider-contact")
            .Should()
            .BeNull("The provider contact should not be shown if the value is not set.");
        }