コード例 #1
0
        public async void ReplaceAsync_Works_DataMatches(Organization postOrganization,
                                                         Organization replaceOrganization, SqlRepo.OrganizationRepository sqlOrganizationRepo,
                                                         OrganizationCompare equalityComparer, List <EfRepo.OrganizationRepository> suts)
        {
            var savedOrganizations = new List <Organization>();

            foreach (var sut in suts)
            {
                var postEfOrganization = await sut.CreateAsync(postOrganization);

                sut.ClearChangeTracking();

                replaceOrganization.Id = postEfOrganization.Id;
                await sut.ReplaceAsync(replaceOrganization);

                sut.ClearChangeTracking();

                var replacedOrganization = await sut.GetByIdAsync(replaceOrganization.Id);

                savedOrganizations.Add(replacedOrganization);
            }

            var postSqlOrganization = await sqlOrganizationRepo.CreateAsync(postOrganization);

            replaceOrganization.Id = postSqlOrganization.Id;
            await sqlOrganizationRepo.ReplaceAsync(replaceOrganization);

            savedOrganizations.Add(await sqlOrganizationRepo.GetByIdAsync(replaceOrganization.Id));

            var distinctItems = savedOrganizations.Distinct(equalityComparer);

            Assert.True(!distinctItems.Skip(1).Any());
        }
コード例 #2
0
        public async void DeleteAsync_Works_DataMatches(Organization organization,
                                                        SqlRepo.OrganizationRepository sqlOrganizationRepo, List <EfRepo.OrganizationRepository> suts)
        {
            foreach (var sut in suts)
            {
                var postEfOrganization = await sut.CreateAsync(organization);

                sut.ClearChangeTracking();

                var savedEfOrganization = await sut.GetByIdAsync(postEfOrganization.Id);

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

                await sut.DeleteAsync(savedEfOrganization);

                sut.ClearChangeTracking();

                savedEfOrganization = await sut.GetByIdAsync(savedEfOrganization.Id);

                Assert.True(savedEfOrganization == null);
            }

            var postSqlOrganization = await sqlOrganizationRepo.CreateAsync(organization);

            var savedSqlOrganization = await sqlOrganizationRepo.GetByIdAsync(postSqlOrganization.Id);

            Assert.True(savedSqlOrganization != null);

            await sqlOrganizationRepo.DeleteAsync(postSqlOrganization);

            savedSqlOrganization = await sqlOrganizationRepo.GetByIdAsync(postSqlOrganization.Id);

            Assert.True(savedSqlOrganization == null);
        }
コード例 #3
0
        public async void GetByIdentifierAsync_Works_DataMatches(Organization organization,
                                                                 SqlRepo.OrganizationRepository sqlOrganizationRepo, OrganizationCompare equalityComparer,
                                                                 List <EfRepo.OrganizationRepository> suts)
        {
            var returnedOrgs = new List <Organization>();

            foreach (var sut in suts)
            {
                var postEfOrg = await sut.CreateAsync(organization);

                sut.ClearChangeTracking();

                var returnedOrg = await sut.GetByIdentifierAsync(postEfOrg.Identifier.ToUpperInvariant());

                returnedOrgs.Add(returnedOrg);
            }

            var postSqlOrg = await sqlOrganizationRepo.CreateAsync(organization);

            returnedOrgs.Add(await sqlOrganizationRepo.GetByIdentifierAsync(postSqlOrg.Identifier.ToUpperInvariant()));

            var distinctItems = returnedOrgs.Distinct(equalityComparer);

            Assert.True(!distinctItems.Skip(1).Any());
        }
コード例 #4
0
        public async void GetManyAbilitiesAsync_Works(Organization organization,
                                                      SqlRepo.OrganizationRepository sqlOrganizationRepo, OrganizationCompare equalityComparer,
                                                      List <EfRepo.OrganizationRepository> suts)
        {
            var list = new List <OrganizationAbility>();

            foreach (var sut in suts)
            {
                list.Concat(await sut.GetManyAbilitiesAsync());
            }

            list.Concat(await sqlOrganizationRepo.GetManyAbilitiesAsync());
            Assert.True(list.All(x => x.GetType() == typeof(OrganizationAbility)));
        }
コード例 #5
0
        public async void GetManyByEnabledAsync_Works_DataMatches(Organization organization,
                                                                  SqlRepo.OrganizationRepository sqlOrganizationRepo, List <EfRepo.OrganizationRepository> suts)
        {
            var returnedOrgs = new List <Organization>();

            foreach (var sut in suts)
            {
                var postEfOrg = await sut.CreateAsync(organization);

                sut.ClearChangeTracking();

                var efReturnedOrgs = await sut.GetManyByEnabledAsync();

                returnedOrgs.Concat(efReturnedOrgs);
            }

            var postSqlOrg = await sqlOrganizationRepo.CreateAsync(organization);

            returnedOrgs.Concat(await sqlOrganizationRepo.GetManyByEnabledAsync());

            Assert.True(returnedOrgs.All(o => o.Enabled));
        }