public MetricIdFromOperationalDashboardSubtypeValueProvider(ControllerContext controllerContext, IDomainSpecificMetricNodeResolver domainSpecificMetricNodeResolver, 
     IValueProvider schoolIdValueProvider)
 {
     this.controllerContext = controllerContext;
     this.domainSpecificMetricNodeResolver = domainSpecificMetricNodeResolver;
     this.schoolIdValueProvider = schoolIdValueProvider;
 }
 public LocalEducationAgencyLayoutController(IService<BriefRequest, BriefModel> localEducationAgencyBriefService,
     IRootMetricNodeResolver rootMetricNodeResolver,
     IDomainSpecificMetricNodeResolver domainSpecificMetricNodeResolver,
     IService<ResourcesRequest, IEnumerable<ResourceModel>> localEducationAgencyMenuResourceRequestService)
 {
     this.localEducationAgencyBriefService = localEducationAgencyBriefService;
     this.rootMetricNodeResolver = rootMetricNodeResolver;
     this.domainSpecificMetricNodeResolver = domainSpecificMetricNodeResolver;
     this.localEducationAgencyMenuResourceRequestService = localEducationAgencyMenuResourceRequestService;
 }
 public SchoolLayoutController(IService<BriefRequest, BriefModel> schoolBriefService,
     IRootMetricNodeResolver rootMetricNodeResolver,
     IDomainSpecificMetricNodeResolver domainSpecificMetricNodeResolver,
     ISchoolAreaLinks schoolLinks,
     IService<ResourcesRequest, IEnumerable<ResourceModel>> schoolMenuResourceRequestService)
 {
     this.schoolBriefService = schoolBriefService;
     this.rootMetricNodeResolver = rootMetricNodeResolver;
     this.domainSpecificMetricNodeResolver = domainSpecificMetricNodeResolver;
     this.schoolLinks = schoolLinks;
     this.schoolMenuResourceRequestService = schoolMenuResourceRequestService;
 }
        protected override void EstablishContext()
        {
            //Prepare supplied data collections
            suppliedGranularMetric = GetSuppliedGM();
            suppliedMetricMetadataNode = GetSuppliedMetricMetadataNode();

            //Set up the mocks
            domainSpecificMetricNodeResolver = mocks.StrictMock<IDomainSpecificMetricNodeResolver>();

            //Set expectations
            var tree = new TestMetricMetadataTree();
            Expect.Call(domainSpecificMetricNodeResolver.GetAdvancedCourseEnrollmentMetricNode()).Return(new MetricMetadataNode(tree) { MetricId = 1 });
            Expect.Call(domainSpecificMetricNodeResolver.GetAdvancedCoursePotentialMetricNode()).Return(new MetricMetadataNode(tree) { MetricId = 2 });
        }
        protected override void EstablishContext()
        {
            SetSuppliedGoal();

            localEducationAgencyMetricSchoolListRepository = mocks.StrictMock<IRepository<LocalEducationAgencyMetricSchoolList>>();
            staffInformationRepository = mocks.StrictMock<IRepository<StaffInformation>>();
            schoolInformationRepository = mocks.StrictMock<IRepository<SchoolInformation>>();
            uniqueListIdProvider = mocks.StrictMock<IUniqueListIdProvider>();
            metricCorrelationService = mocks.StrictMock<IMetricCorrelationProvider>();
            metricInstanceSetKeyResolver = mocks.StrictMock<IMetricInstanceSetKeyResolver<LocalEducationAgencyMetricInstanceSetRequest>>();
            metricGoalProvider = mocks.StrictMock<IMetricGoalProvider>();
            metricNodeResolver = mocks.StrictMock<IMetricNodeResolver>();
            domainSpecificMetricNodeResolver = mocks.StrictMock<IDomainSpecificMetricNodeResolver>();
            listMetadataProvider = mocks.StrictMock<IListMetadataProvider>();
            metadataListIdResolver = mocks.StrictMock<IMetadataListIdResolver>();


            suppliedLocalEducationAgencyMetricSchoolList = GetSuppliedLocalEducationAgencyMetricSchoolList();
            suppliedStaffInformationList = GetSuppliedStaffInformationRepository();
            suppliedSchoolInformationList = GetSuppliedSchoolInformationRepository();

            Expect.Call(metricNodeResolver.GetMetricNodeForLocalEducationAgencyMetricVariantId(suppliedMetricVariantId)).Return(GetSuppliedMetricMetadataNode());
            Expect.Call(localEducationAgencyMetricSchoolListRepository.GetAll()).Repeat.Any().Return(suppliedLocalEducationAgencyMetricSchoolList);
            Expect.Call(staffInformationRepository.GetAll()).Repeat.Any().Return(suppliedStaffInformationList);
            Expect.Call(schoolInformationRepository.GetAll()).Return(suppliedSchoolInformationList);
            Expect.Call(uniqueListIdProvider.GetUniqueId(suppliedMetricVariantId)).Return(suppliedListContext);
            Expect.Call(domainSpecificMetricNodeResolver.GetOperationalDashboardMetricNode()).Return(GetSuppliedOperationalDashboardMetricNode());
            Expect.Call(metricInstanceSetKeyResolver.GetMetricInstanceSetKey(null)).Constraints(
                    new ActionConstraint<LocalEducationAgencyMetricInstanceSetRequest>(x =>
                                                                                        {
                                                                                            Assert.That(x.MetricVariantId == suppliedMetricVariantId);
                                                                                            Assert.That(x.LocalEducationAgencyId == suppliedLocalEducationAgencyId);
                                                                                        })).Return(suppliedMetricInstanceSetKey);
            Expect.Call(metricGoalProvider.GetMetricGoal(suppliedMetricInstanceSetKey, suppliedMetricId)).Return(suppliedGoal);

            Expect.Call(metricCorrelationService.GetRenderingParentMetricVariantIdForSchool(suppliedMetricVariantId, 1)).Constraints(
                     Rhino.Mocks.Constraints.Is.Equal(suppliedMetricVariantId), Rhino.Mocks.Constraints.Is.Anything()).Repeat.Any().Return(new MetricCorrelationProvider.MetricRenderingContext { ContextMetricVariantId = suppliedContextMetricVariantId, MetricVariantId = suppliedCorrelationMetricVariantId });
            Expect.Call(metadataListIdResolver.GetListId(ListType.SchoolMetricTable, SchoolCategory.None)).Return(
                MetadataListIdResolver.SchoolMetricTableListId);
            Expect.Call(listMetadataProvider.GetListMetadata(MetadataListIdResolver.SchoolMetricTableListId)).Return(
                new List<MetadataColumnGroup>());
        }
        protected override void EstablishContext()
        {
            InitializeSuppliedData();

            //Set up the mocks
            localEducationAgencyInformationRepository = mocks.StrictMock<IRepository<LocalEducationAgencyInformation>>();
            domainMetricService = mocks.StrictMock<IDomainMetricService<LocalEducationAgencyMetricInstanceSetRequest>>();
            rootMetricNodeResolver = mocks.StrictMock<IRootMetricNodeResolver>();
            metricTreeToIEnumerableOfKeyValuePairProvider = mocks.StrictMock<IMetricTreeToIEnumerableOfKeyValuePairProvider>();
            domainSpecificMetricNodeResolver = mocks.StrictMock<IDomainSpecificMetricNodeResolver>();
    
            //Set expectations
            Expect.Call(localEducationAgencyInformationRepository.GetAll()).Return(suppliedLocalEducationAgencyInformationData);
            
            Expect.Call(rootMetricNodeResolver.GetRootMetricNode()).Return(suppliedRootMetricNode);

            Expect.Call(domainMetricService.Get(null))
                .Constraints(
                    new ActionConstraint<LocalEducationAgencyMetricInstanceSetRequest>(x =>
                    {
                        Assert.That(x.LocalEducationAgencyId == suppliedLocalEducationAgencyId);
                        Assert.That(x.MetricVariantId == suppliedRootMetricVariantId);
                    })
                ).Return(suppliedRootMetricHierarchy);

            Expect.Call(metricTreeToIEnumerableOfKeyValuePairProvider.FlattenMetricTree((ContainerMetric)suppliedRootMetricHierarchy.RootNode)).Return(suppliedRootIEnumerableOfKeyValuePair);

            Expect.Call(domainSpecificMetricNodeResolver.GetOperationalDashboardMetricNode()).Return(suppliedOperationalDashboardMetricNode);

            // Mock the metric service call to obtain operational dashboards
            Expect.Call(domainMetricService.Get(null))
                .Constraints(
                    new ActionConstraint<LocalEducationAgencyMetricInstanceSetRequest>(x =>
                    {
                        Assert.That(x.LocalEducationAgencyId == suppliedLocalEducationAgencyId);
                        Assert.That(x.MetricVariantId == suppliedOperationalDashboardMetricVariantId);
                    })
                ).Return(suppliedOperationalDashboardMetricHierarchy);

            MockFlatteningOfOperationDashboardsHierarchy();
        }