Exemplo n.º 1
0
        public void AuthorizationTest()
        {
            //Arrange
            // TODO replace this with userManager respository in the future no need to test onion manager classer here
            IUserDataSource userDataSource = new ArtDatabanken.WebService.Client.UserService.Fakes.StubUserDataSource()
            {
            };
            List <int>        taxonIds    = new List <int>();
            TaxonList         taxonList   = new TaxonList();
            ITaxonAlertStatus alertStatus = new TaxonAlertStatus()
            {
                Id = (int)TaxonAlertStatusId.Green
            };

            taxonList.Add(new Taxon()
            {
                Id             = 10007,
                ScientificName = "ScientificName",
                CommonName     = "CommonName",
                Author         = "Author",
                Category       = new TaxonCategory(),
                AlertStatus    = alertStatus
            });
            ITaxonManager testTaxonManager = new ArtDatabanken.Data.Fakes.StubITaxonManager()
            {
                GetTaxaIUserContextListOfInt32 = (context, taxa) => { return(taxonList); }
            };

            CoreData.TaxonManager = testTaxonManager;

            // Act
            MySettingsController controller = new MySettingsController(userDataSource, SessionHelper);
            var result = controller.TaxaSummary() as PartialViewResult;

            // Assert
            Assert.IsNotNull(result);

            // Check view data
            Assert.AreEqual("TaxaSummary", result.ViewName);

            // Check model data
            var listModel = result.ViewData.Model as List <TaxonViewModel>;

            Assert.IsNotNull(listModel);
            Assert.IsTrue(listModel.Count == 1);
        }
        private void StubDataSourceAndManagerData()
        {
            int testRoleId            = 3333;
            int testApplicationRoleId = 4444;

            UserDataSource userDataSource = new ArtDatabanken.WebService.Client.UserService.Fakes.StubUserDataSource()
            {
            };


            IUserManager testUserManager = new ArtDatabanken.Data.Fakes.StubIUserManager()
            {
                LoginStringStringStringBoolean =
                    (userName,
                     password,
                     applicationIdentifier,
                     isActivationRequired) =>
                {
                    return(this.userContext);
                },
                LoginStringStringString =
                    (userName,
                     password,
                     applicationIdentifier) =>
                {
                    return
                        (this.applicationUserContext);
                }
            };

            CoreData.UserManager            = testUserManager;
            CoreData.UserManager.DataSource = userDataSource;
            // CoreData.UserManager.DataSource = userDataSource;
            CoreData.OrganizationManager.DataSource = userDataSource;

            CountryDataSource countryDataSource = new ArtDatabanken.WebService.Client.UserService.Fakes.StubCountryDataSource();

            CoreData.CountryManager.DataSource = countryDataSource;

            LocaleDataSource localeDataSource = new ArtDatabanken.WebService.Client.UserService.Fakes.StubLocaleDataSource();
            {
            }

            ApplicationDataSource applicationDataSource =
                new ArtDatabanken.WebService.Client.UserService.Fakes.StubApplicationDataSource();

            CoreData.ApplicationManager.DataSource = applicationDataSource;

            ReferenceDataSource referenceDataSource = new ArtDatabanken.WebService.Client.ReferenceService.Fakes.StubReferenceDataSource();

            CoreData.ReferenceManager.DataSource = referenceDataSource;

            TaxonDataSource taxonDataSource = new ArtDatabanken.WebService.Client.TaxonService.Fakes.StubTaxonDataSource();

            ITaxonManager testTaxonManager = new ArtDatabanken.Data.Fakes.StubITaxonManager()
            {
            };

            CoreData.TaxonManager = testTaxonManager;

            CoreData.TaxonManager.DataSource = taxonDataSource;

            SpeciesObservationDataProviderList dataProviders = new SpeciesObservationDataProviderList();

            dataProviders.Add(new SpeciesObservationDataProvider());
            SpeciesObservationDataSource speciesObservationDataSource =
                new ArtDatabanken.WebService.Client.SpeciesObservationService.Fakes.StubSpeciesObservationDataSource()
            {
                //  public SpeciesObservationFieldDescriptionList GetSpeciesObservationFieldDescriptions(IUserContext userContext)
            };
            SpeciesObservationManager testSpeciesObservationManager =
                new ArtDatabanken.Data.Fakes.StubSpeciesObservationManager()
            {
                GetSpeciesObservationDataProvidersIUserContext
                    = (context) => { return(dataProviders); }
            };

            CoreData.SpeciesObservationManager = testSpeciesObservationManager;

            CoreData.SpeciesObservationManager.DataSource         = speciesObservationDataSource;
            CoreData.MetadataManager.SpeciesObservationDataSource = speciesObservationDataSource;

            RegionDataSource regionDataSource =
                new ArtDatabanken.WebService.Client.GeoReferenceService.Fakes.StubRegionDataSource();

            CoreData.RegionManager.DataSource = regionDataSource;

            AnalysisDataSource analysisDataSource =
                new ArtDatabanken.WebService.Client.AnalysisService.Fakes.StubAnalysisDataSource();

            CoreData.AnalysisManager.DataSource = analysisDataSource;



            this.StubApplicationUserContex(testApplicationRoleId);

            this.StubUserContext(testRoleId);

            LocaleList usedLocales  = new LocaleList();
            ILocale    testSvLocale = new Locale(
                AnalysisPortalTestSettings.Default.SwedishLocaleId,
                AnalysisPortalTestSettings.Default.SwedishLocale,
                AnalysisPortalTestSettings.Default.SwedishNameString,
                AnalysisPortalTestSettings.Default.SvenskNameString,
                new DataContext(this.userContext));

            usedLocales.Add(testSvLocale);

            LocaleManager testLocaleManager = new ArtDatabanken.Data.Fakes.StubLocaleManager()
            {
                GetUsedLocalesIUserContext =
                    (context) =>
                {
                    return(usedLocales);
                },
                GetDefaultLocaleIUserContext
                    =
                        (context) =>
                    {
                    return
                        (testSvLocale);
                    }
            };

            CoreData.LocaleManager            = testLocaleManager;
            CoreData.LocaleManager.DataSource = localeDataSource;
        }