private QualificationService CreateQualificationService() { var userId = Guid.Parse(User.Identity.GetUserId()); var service = new QualificationService(userId); return(service); }
public AddQualificationView(QualificationService qualificationService, QualificationListViewModel qualificationListViewModel) : this() { _qualificationService = qualificationService; _qualificationListViewModel = qualificationListViewModel; _qualificationToAdd = new AddQualificationViewModel(_qualificationService); DataContext = _qualificationToAdd; }
public async Task GetQualificationsOnlineSucessNoItemsTest() { // Create the fake stockFeed: IQualificationDataService qualificationDataService = new StubIQualificationDataService { GetQualificationsString = s => { return(Task.Run(() => new DataResult <List <IQualification> >(Result.Ok))); } }; IQualificationLocalStorageDataService qualificationLocalStorage = new StubIQualificationLocalStorageDataService { GetSavedQualifications = () => { return(Task.Run(() => new List <IQualification>())); }, GetETag = () => null, SaveQualificationsListOfIQualification = list => { }, SaveETagString = s => { } }; var service = new QualificationService(qualificationDataService, qualificationLocalStorage); var qualification = await service.GetQualifications(); Assert.IsTrue(qualification.IsOk); Assert.IsTrue(qualification.Result == Result.Ok); }
// GET: Qualification public ActionResult Index() { var userId = Guid.Parse(User.Identity.GetUserId()); var service = new QualificationService(userId); var model = service.GetQualifications(); return(View(model)); }
public EditQualificationViewModel(QualificationViewModel qualificationToEdit, QualificationService qualificationService) { _qualificationService = qualificationService; QualificationToEdit = qualificationToEdit; QualificationId = qualificationToEdit.QualificationId; CopyEditableFields(qualificationToEdit); }
public When_QualificationService_Is_Called_To_CreateQualification() { var httpContextAccessor = Substitute.For <IHttpContextAccessor>(); var config = new MapperConfiguration(c => { c.AddMaps(typeof(QualificationMapper).Assembly); c.ConstructServicesUsing(type => type.Name.Contains("LoggedInUserEmailResolver") ? new LoggedInUserEmailResolver <MissingQualificationViewModel, Domain.Models.Qualification>(httpContextAccessor) : type.Name.Contains("LoggedInUserNameResolver") ? (object)new LoggedInUserNameResolver <MissingQualificationViewModel, Domain.Models.Qualification>(httpContextAccessor) : type.Name.Contains("UtcNowResolver") ? new UtcNowResolver <MissingQualificationViewModel, Domain.Models.Qualification>(new DateTimeProvider()) : null); }); var mapper = new Mapper(config); var learningAimReferenceRepository = Substitute.For <IRepository <LearningAimReference> >(); var qualificationRepository = Substitute.For <IRepository <Domain.Models.Qualification> >(); qualificationRepository .CreateAsync(Arg.Do <Domain.Models.Qualification>( q => q.Id = 1)) .Returns(1); qualificationRepository.GetSingleOrDefaultAsync(Arg.Any <Expression <Func <Domain.Models.Qualification, bool> > >()) .Returns(new Domain.Models.Qualification()); _qualificationRouteMappingRepository = Substitute.For <IRepository <QualificationRouteMapping> >(); _qualificationRouteMappingRepository .CreateManyAsync(Arg.Do <IList <QualificationRouteMapping> >( qrpm => qrpm.First().Qualification.Id = 1)) .Returns(1); var qualificationService = new QualificationService(mapper, qualificationRepository, _qualificationRouteMappingRepository, learningAimReferenceRepository); var viewModel = new MissingQualificationViewModel { ProviderVenueId = 1, LarId = "10042982", Title = "Title", ShortTitle = "Short Title", Source = "Test", Routes = new List <RouteSummaryViewModel> { new RouteSummaryViewModel { Id = 1, Name = "Route 1", IsSelected = true, Summary = "Route Summary" } } }; _result = qualificationService.CreateQualificationAsync(viewModel).GetAwaiter().GetResult(); }
public AddOpeningViewModel(OpeningService openingService, CompanyService companyService, QualificationService qualificationService) { _openingService = openingService; _companyService = companyService; _qualificationService = qualificationService; Companies = new ObservableCollection <DataLayer.EfClasses.Company>(_companyService.GetCompanies()); Qualifications = new ObservableCollection <DataLayer.EfClasses.Qualification>(_qualificationService.GetQualifications()); SelectedCompany = Companies.First(); SelectedQualification = Qualifications.First(); }
public QualificationListViewModel(QualificationService qualificationService) { _qualificationService = qualificationService; QualificationList = new ObservableCollection <QualificationViewModel>( _qualificationService.GetQualifications().Select(c => new QualificationViewModel(c))); if (QualificationList.Count > 0) { SelectedQualification = QualificationList.First(); } }
public AddOpeningView(OpeningListViewModel openingListViewModel, OpeningService openingService, CompanyService companyService, QualificationService qualificationService) : this() { _openingListViewModel = openingListViewModel; _openingService = openingService; _companyService = companyService; _qualificationService = qualificationService; _openingToAdd = new AddOpeningViewModel(_openingService, _companyService, _qualificationService); DataContext = _openingToAdd; }
public When_QualificationService_Is_Called_To_SearchShortTitle_By_Ignored_Word() { var config = new MapperConfiguration(c => c.AddMaps(typeof(QualificationMapper).Assembly)); var mapper = new Mapper(config); _repository = Substitute.For <IRepository <Domain.Models.Qualification> >(); var learningAimReferenceRepository = Substitute.For <IRepository <LearningAimReference> >(); var qualificationRouteMappingRepository = Substitute.For <IRepository <QualificationRouteMapping> >(); var service = new QualificationService(mapper, _repository, qualificationRouteMappingRepository, learningAimReferenceRepository); _searchResults = service.SearchShortTitleAsync("the").GetAwaiter().GetResult(); }
public When_QualificationService_Is_Called_To_Check_IsValidLarId_With_Invalid_Lar_Id() { var config = new MapperConfiguration(c => c.AddMaps(typeof(QualificationMapper).Assembly)); var mapper = new Mapper(config); var learningAimReferenceRepository = Substitute.For <IRepository <LearningAimReference> >(); var qualificationRepository = Substitute.For <IRepository <Domain.Models.Qualification> >(); var qualificationRouteMappingRepository = Substitute.For <IRepository <QualificationRouteMapping> >(); var qualificationService = new QualificationService(mapper, qualificationRepository, qualificationRouteMappingRepository, learningAimReferenceRepository); _result = qualificationService.IsValidLarIdAsync("12345").GetAwaiter().GetResult(); }
public EditOpeningViewModel(OpeningViewModel openingToEdit, OpeningService openingService, CompanyService companyService, QualificationService qualificationService) { OpeningToEdit = openingToEdit; _openingService = openingService; _companyService = companyService; _qualificationService = qualificationService; Companies = new ObservableCollection <DataLayer.EfClasses.Company>(companyService.GetCompanies()); Qualifications = new ObservableCollection <DataLayer.EfClasses.Qualification>(qualificationService.GetQualifications()); SelectedCompany = Companies.First(c => c.CompanyName == openingToEdit.CompanyName); SelectedQualification = Qualifications.First(c => c.QualificationCode == openingToEdit.Qualification); CopyEditableFields(openingToEdit); }
public MainWindow() { InitializeComponent(); // GenerateMockData.GenerateAllData(); MainContext = new TecContext(); _candidateService = new CandidateService(MainContext); _candidateListViewModel = new CandidateListViewModel(_candidateService); _companyService = new CompanyService(MainContext); _companyListViewModel = new CompanyListViewModel(_companyService); _qualificationService = new QualificationService(MainContext); _qualificationListViewModel = new QualificationListViewModel(_qualificationService); _jobHistoryService = new JobHistoryService(MainContext); _jobHistoryListViewModel = new JobHistoryListViewModel(_jobHistoryService); _placementService = new PlacementService(MainContext); _placementListViewModel = new PlacementListViewModel(_placementService); _openingService = new OpeningService(MainContext); _openingListViewModel = new OpeningListViewModel(_openingService); _courseService = new CourseService(MainContext); _courseListViewModel = new CourseListViewModel(_courseService); _trainingSessionService = new TrainingSessionService(MainContext); _scheduleService = new ScheduleService(MainContext); _trainingSessionListViewModel = new TrainingSessionListViewModel(_trainingSessionService); CandidateTab.DataContext = _candidateListViewModel; CompanyTab.DataContext = _companyListViewModel; QualificationTab.DataContext = _qualificationListViewModel; HistoryTab.DataContext = _jobHistoryListViewModel; OpeningTab.DataContext = _openingListViewModel; PlacementTab.DataContext = _placementListViewModel; CourseTab.DataContext = _courseListViewModel; SessionTab.DataContext = _trainingSessionListViewModel; }
public async Task GetAllAsyncWhenNoQualificationsReturnsEmptyCollection() { //Arrange var mockQualificationRepository = GetDefaultIQualificationRepositoryInstance(); var mockUnitOfWork = GetDefaultIUnitOfWorkInstance(); var qualificationId = 200; mockQualificationRepository.Setup(r => r.FindById(qualificationId)) .Returns(Task.FromResult <Qualification>(null)); var service = new QualificationService(mockQualificationRepository.Object, mockUnitOfWork.Object); //Act QualificationResponse result = await service.GetByIdAsync(qualificationId); var message = result.Message; //Assert message.Should().Be("Qualification not found"); }
public When_QualificationService_Is_Called_To_Search_With_No_Results() { var config = new MapperConfiguration(c => c.AddMaps(typeof(QualificationMapper).Assembly)); var mapper = new Mapper(config); var logger = Substitute.For <ILogger <GenericRepository <Domain.Models.Qualification> > >(); using var dbContext = InMemoryDbContext.Create(); dbContext.AddRange(new ValidQualificationListBuilder() .Build()); dbContext.SaveChanges(); var repository = new GenericRepository <Domain.Models.Qualification>(logger, dbContext); var learningAimReferenceRepository = Substitute.For <IRepository <LearningAimReference> >(); var qualificationRouteMappingRepository = Substitute.For <IRepository <QualificationRouteMapping> >(); var service = new QualificationService(mapper, repository, qualificationRouteMappingRepository, learningAimReferenceRepository); _searchResult = service.SearchQualificationAsync("No Qualification Exists").GetAwaiter().GetResult(); }
public When_QualificationService_Is_Called_To_SearchQualifications() { var config = new MapperConfiguration(c => c.AddMaps(typeof(QualificationMapper).Assembly)); var mapper = new Mapper(config); var qlogger = Substitute.For <ILogger <GenericRepository <Domain.Models.Qualification> > >(); var qrmlogger = Substitute.For <ILogger <GenericRepository <QualificationRouteMapping> > >(); using var dbContext = InMemoryDbContext.Create(); dbContext.AddRange(new ValidQualificationListBuilder().Build()); dbContext.AddRange( new QualificationRouteMapping { RouteId = 1, QualificationId = 1 }, new QualificationRouteMapping { RouteId = 1, QualificationId = 2 }, new QualificationRouteMapping { RouteId = 1, QualificationId = 3 }); dbContext.SaveChanges(); var qualificationRepo = new GenericRepository <Domain.Models.Qualification>(qlogger, dbContext); var routeMappingRepo = new GenericRepository <QualificationRouteMapping>(qrmlogger, dbContext); var learningAimReferenceRepository = Substitute.For <IRepository <LearningAimReference> >(); var service = new QualificationService(mapper, qualificationRepo, routeMappingRepo, learningAimReferenceRepository); _searchResults = service.SearchQualificationAsync("Scientific Reasoning").GetAwaiter().GetResult(); }
public async Task GetQualificationsOnlineSucessWithItemsTest() { var qualificationMock = Ioc.Container.Resolve <IQualification>(); qualificationMock.Name = "test1"; var qualificationList = new List <IQualification>(); qualificationList.Add(qualificationMock); IQualificationDataService qualificationDataService = new StubIQualificationDataService { GetQualificationsString = s => { return(Task.Run(() => new DataResult <List <IQualification> >(qualificationList))); } }; IQualificationLocalStorageDataService qualificationLocalStorage = new StubIQualificationLocalStorageDataService { GetSavedQualifications = () => { return(Task.Run(() => new List <IQualification>())); }, GetETag = () => null, SaveQualificationsListOfIQualification = list => { }, SaveETagString = s => { } }; var service = new QualificationService(qualificationDataService, qualificationLocalStorage); var qualification = await service.GetQualifications(); Assert.IsTrue(qualification.IsOk); Assert.IsTrue(qualification.Result == Result.Ok); Assert.IsTrue(qualification.Data.Count > 0); }
public QualificationsController() { Service = new QualificationService(); }
public EditOpeningView(OpeningViewModel editOpening, OpeningService openingService, CompanyService companyService, QualificationService qualificationService) : this() { _openingToEdit = new EditOpeningViewModel(editOpening, openingService, companyService, qualificationService); DataContext = _openingToEdit; }
public AddQualificationViewModel(QualificationService qualificationService) { _qualificationService = qualificationService; }
public EditQualificationView(QualificationViewModel editQualification, QualificationService qualificationService) : this() { _editQualification = new EditQualificationViewModel(editQualification, qualificationService); DataContext = _editQualification; }
public When_QualificationService_Is_Called_To_UpdateQualification() { var httpContextAccessor = Substitute.For <IHttpContextAccessor>(); httpContextAccessor.HttpContext.Returns(new DefaultHttpContext { User = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim(ClaimTypes.GivenName, "adminUserName") })) }); var dateTimeProvider = Substitute.For <IDateTimeProvider>(); dateTimeProvider.UtcNow().Returns(new DateTime(2019, 1, 1)); var config = new MapperConfiguration(c => { c.AddMaps(typeof(QualificationMapper).Assembly); c.ConstructServicesUsing(type => type.Name.Contains("LoggedInUserEmailResolver") ? new LoggedInUserEmailResolver <SaveQualificationViewModel, Domain.Models.Qualification>(httpContextAccessor) : type.Name.Contains("LoggedInUserNameResolver") ? (object)new LoggedInUserNameResolver <SaveQualificationViewModel, Domain.Models.Qualification>(httpContextAccessor) : type.Name.Contains("UtcNowResolver") ? new UtcNowResolver <SaveQualificationViewModel, Domain.Models.Qualification>(dateTimeProvider) : null); }); var mapper = new Mapper(config); var learningAimReferenceRepository = Substitute.For <IRepository <LearningAimReference> >(); _qualificationRepository = Substitute.For <IRepository <Domain.Models.Qualification> >(); _qualificationRepository .GetSingleOrDefaultAsync(Arg.Any <Expression <Func <Domain.Models.Qualification, bool> > >()) .Returns(new ValidQualificationBuilder().Build()); _qualificationRouteMappingRepository = Substitute.For <IRepository <QualificationRouteMapping> >(); _qualificationRouteMappingRepository .GetManyAsync(Arg.Any <Expression <Func <QualificationRouteMapping, bool> > >()) .Returns(new List <QualificationRouteMapping> { new QualificationRouteMapping { Id = 101, QualificationId = 1, RouteId = 1 }, new QualificationRouteMapping { Id = 102, QualificationId = 1, RouteId = 2 } }.AsQueryable()); var qualificationService = new QualificationService(mapper, _qualificationRepository, _qualificationRouteMappingRepository, learningAimReferenceRepository); //Set up routes 1 and 2 in the database, //then 2 and 3 selected in the view model. //Should end up with mapping for route 1 deleted //and route 3 added var viewModel = new SaveQualificationViewModel { QualificationId = 1, Title = "Title", ShortTitle = "Modified Short Title", Source = "Test", Routes = new List <RouteSummaryViewModel> { new RouteSummaryViewModel { Id = 1, Name = "Route 1", IsSelected = false }, new RouteSummaryViewModel { Id = 2, Name = "Route 2", IsSelected = true }, new RouteSummaryViewModel { Id = 3, Name = "Route 1", IsSelected = true } } }; qualificationService.UpdateQualificationAsync(viewModel).GetAwaiter().GetResult(); }