Merge branch '1840-refactor-to-filter-object' of github.com:gradido/gradido into 1840-refactor-to-filter-object--sub-rename+filters-obj

# Conflicts:
#	admin/src/pages/Creation.spec.js
#	admin/src/pages/Creation.vue
#	backend/src/graphql/resolver/AdminResolver.test.ts
#	backend/src/graphql/resolver/AdminResolver.ts
This commit is contained in:
Wolfgang Huß 2022-05-19 18:29:44 +02:00
commit 0c9f59d371
6 changed files with 58 additions and 38 deletions

View File

@ -528,7 +528,7 @@ jobs:
report_name: Coverage Backend
type: lcov
result_path: ./backend/coverage/lcov.info
min_coverage: 64
min_coverage: 66
token: ${{ github.token }}
##########################################################################

View File

@ -71,8 +71,10 @@ describe('Creation', () => {
searchText: '',
currentPage: 1,
pageSize: 25,
byActivated: true, // Wolle: used 'filters' object?
byDeleted: false,
filters: {
byActivated: true,
byDeleted: false,
},
},
}),
)
@ -271,8 +273,10 @@ describe('Creation', () => {
searchText: 'XX',
currentPage: 1,
pageSize: 25,
byActivated: true, // Wolle: used 'filters' object?
byDeleted: false,
filters: {
byActivated: true,
byDeleted: false,
},
},
}),
)
@ -288,8 +292,10 @@ describe('Creation', () => {
searchText: '',
currentPage: 1,
pageSize: 25,
byActivated: true, // Wolle: used 'filters' object?
byDeleted: false,
filters: {
byActivated: true,
byDeleted: false,
},
},
}),
)
@ -305,8 +311,10 @@ describe('Creation', () => {
searchText: '',
currentPage: 2,
pageSize: 25,
byActivated: true, // Wolle: used 'filters' object?
byDeleted: false,
filters: {
byActivated: true,
byDeleted: false,
},
},
}),
)

View File

@ -102,8 +102,10 @@ export default {
searchText: this.criteria,
currentPage: this.currentPage,
pageSize: this.perPage,
byActivated: true, // Wolle: used 'filters' object?
byDeleted: false,
filters: {
byActivated: true,
byDeleted: false,
},
},
fetchPolicy: 'network-only',
})

View File

@ -7,7 +7,7 @@ const localVue = global.localVue
const apolloQueryMock = jest.fn().mockResolvedValue({
data: {
searchUsers: {
userCount: 1,
userCount: 4,
userList: [
{
userId: 1,

View File

@ -320,6 +320,21 @@ describe('AdminResolver', () => {
})
describe('with admin rights', () => {
const allUsers = {
bibi: expect.objectContaining({
email: 'bibi@bloxberg.de',
}),
garrick: expect.objectContaining({
email: 'garrick@ollivander.com',
}),
peter: expect.objectContaining({
email: 'peter@lustig.de',
}),
stephen: expect.objectContaining({
email: 'stephen@hawking.uk',
}),
}
beforeAll(async () => {
admin = await userFactory(testEnv, peterLustig)
await query({
@ -337,23 +352,8 @@ describe('AdminResolver', () => {
resetToken()
})
describe('find', () => {
const allUsers = {
bibi: expect.objectContaining({
email: 'bibi@bloxberg.de',
}),
garrick: expect.objectContaining({
email: 'garrick@ollivander.com',
}),
peter: expect.objectContaining({
email: 'peter@lustig.de',
}),
stephen: expect.objectContaining({
email: 'stephen@hawking.uk',
}),
}
it('all users by "filters === null"', async () => {
describe('without any filters', () => {
it('finds all users', async () => {
await expect(
query({
query: searchUsers,
@ -372,8 +372,10 @@ describe('AdminResolver', () => {
}),
)
})
})
it('all users by "byActivated === null && byDeleted === null"', async () => {
describe('all filters are null', () => {
it('finds all users', async () => {
await expect(
query({
query: searchUsers,
@ -396,8 +398,10 @@ describe('AdminResolver', () => {
}),
)
})
})
it('users with unchecked email', async () => {
describe('filter by unchecked email', () => {
it('finds only users with unchecked email', async () => {
await expect(
query({
query: searchUsers,
@ -420,8 +424,10 @@ describe('AdminResolver', () => {
}),
)
})
})
it('users with deleted account', async () => {
describe('filter by deleted users', () => {
it('finds only users with deleted account', async () => {
await expect(
query({
query: searchUsers,
@ -444,8 +450,10 @@ describe('AdminResolver', () => {
}),
)
})
})
it('no users with deleted account and unchecked email', async () => {
describe('filter by deleted account and unchecked email', () => {
it('finds no users', async () => {
await expect(
query({
query: searchUsers,

View File

@ -57,12 +57,14 @@ export class AdminResolver {
const userRepository = getCustomRepository(UserRepository)
const filterCriteria: ObjectLiteral[] = []
if (filters && filters.byActivated !== null) {
filterCriteria.push({ emailChecked: filters.byActivated })
}
if (filters) {
if (filters.byActivated !== null) {
filterCriteria.push({ emailChecked: filters.byActivated })
}
if (filters && filters.byDeleted !== null) {
filterCriteria.push({ deletedAt: filters.byDeleted ? Not(IsNull()) : IsNull() })
if (filters.byDeleted !== null) {
filterCriteria.push({ deletedAt: filters.byDeleted ? Not(IsNull()) : IsNull() })
}
}
const userFields = ['id', 'firstName', 'lastName', 'email', 'emailChecked', 'deletedAt']