Esempio n. 1
0
        public async void DeleteAsync_Works_DataMatches(SsoConfig ssoConfig, Organization org,
                                                        SsoConfigCompare equalityComparer, List <EfRepo.SsoConfigRepository> suts,
                                                        List <EfRepo.OrganizationRepository> efOrgRepos, SqlRepo.SsoConfigRepository sqlSsoConfigRepo,
                                                        SqlRepo.OrganizationRepository sqlOrganizationRepo)
        {
            foreach (var sut in suts)
            {
                var i = suts.IndexOf(sut);

                var savedEfOrg = await efOrgRepos[i].CreateAsync(org);
                sut.ClearChangeTracking();

                ssoConfig.OrganizationId = savedEfOrg.Id;
                var postEfSsoConfig = await sut.CreateAsync(ssoConfig);

                sut.ClearChangeTracking();

                var savedEfSsoConfig = await sut.GetByIdAsync(postEfSsoConfig.Id);

                Assert.True(savedEfSsoConfig != null);
                sut.ClearChangeTracking();

                await sut.DeleteAsync(savedEfSsoConfig);

                var deletedEfSsoConfig = await sut.GetByIdAsync(savedEfSsoConfig.Id);

                Assert.True(deletedEfSsoConfig == null);
            }

            var sqlOrganization = await sqlOrganizationRepo.CreateAsync(org);

            ssoConfig.OrganizationId = sqlOrganization.Id;

            var postSqlSsoConfig = await sqlSsoConfigRepo.CreateAsync(ssoConfig);

            var savedSqlSsoConfig = await sqlSsoConfigRepo.GetByIdAsync(postSqlSsoConfig.Id);

            Assert.True(savedSqlSsoConfig != null);

            await sqlSsoConfigRepo.DeleteAsync(savedSqlSsoConfig);

            savedSqlSsoConfig = await sqlSsoConfigRepo.GetByIdAsync(postSqlSsoConfig.Id);

            Assert.True(savedSqlSsoConfig == null);
        }
Esempio n. 2
0
        public async void ReplaceAsync_Works_DataMatches(SsoConfig postSsoConfig, SsoConfig replaceSsoConfig,
                                                         Organization org, SsoConfigCompare equalityComparer, List <EfRepo.SsoConfigRepository> suts,
                                                         List <EfRepo.OrganizationRepository> efOrgRepos, SqlRepo.SsoConfigRepository sqlSsoConfigRepo,
                                                         SqlRepo.OrganizationRepository sqlOrganizationRepo)
        {
            var savedSsoConfigs = new List <SsoConfig>();

            foreach (var sut in suts)
            {
                var i = suts.IndexOf(sut);

                var savedEfOrg = await efOrgRepos[i].CreateAsync(org);
                sut.ClearChangeTracking();

                postSsoConfig.OrganizationId = replaceSsoConfig.OrganizationId = savedEfOrg.Id;
                var postEfSsoConfig = await sut.CreateAsync(postSsoConfig);

                sut.ClearChangeTracking();

                replaceSsoConfig.Id = postEfSsoConfig.Id;
                savedSsoConfigs.Add(postEfSsoConfig);
                await sut.ReplaceAsync(replaceSsoConfig);

                sut.ClearChangeTracking();

                var replacedSsoConfig = await sut.GetByIdAsync(replaceSsoConfig.Id);

                Assert.True(replacedSsoConfig != null);
                savedSsoConfigs.Add(replacedSsoConfig);
            }

            var sqlOrganization = await sqlOrganizationRepo.CreateAsync(org);

            postSsoConfig.OrganizationId = sqlOrganization.Id;

            var postSqlSsoConfig = await sqlSsoConfigRepo.CreateAsync(postSsoConfig);

            replaceSsoConfig.Id = postSqlSsoConfig.Id;
            savedSsoConfigs.Add(postSqlSsoConfig);

            await sqlSsoConfigRepo.ReplaceAsync(replaceSsoConfig);

            var replacedSqlSsoConfig = await sqlSsoConfigRepo.GetByIdAsync(replaceSsoConfig.Id);

            Assert.True(replacedSqlSsoConfig != null);
            savedSsoConfigs.Add(replacedSqlSsoConfig);

            var distinctItems = savedSsoConfigs.Distinct(equalityComparer);

            Assert.True(!distinctItems.Skip(2).Any());
        }