mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
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:
commit
0c9f59d371
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@ -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 }}
|
||||
|
||||
##########################################################################
|
||||
|
||||
@ -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,
|
||||
},
|
||||
},
|
||||
}),
|
||||
)
|
||||
|
||||
@ -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',
|
||||
})
|
||||
|
||||
@ -7,7 +7,7 @@ const localVue = global.localVue
|
||||
const apolloQueryMock = jest.fn().mockResolvedValue({
|
||||
data: {
|
||||
searchUsers: {
|
||||
userCount: 1,
|
||||
userCount: 4,
|
||||
userList: [
|
||||
{
|
||||
userId: 1,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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']
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user