fix(medusa): Implement listAndCount for UserService and update list endpoint (#6190)
This commit is contained in:
committed by
GitHub
parent
eb498c500e
commit
d68089b2aa
@@ -1,90 +0,0 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`/admin/users GET /admin/users lists users 1`] = `
|
||||
Array [
|
||||
Object {
|
||||
"api_token": "test_token",
|
||||
"created_at": Any<String>,
|
||||
"deleted_at": null,
|
||||
"email": "admin@medusa.js",
|
||||
"first_name": null,
|
||||
"id": "admin_user",
|
||||
"last_name": null,
|
||||
"metadata": null,
|
||||
"role": "admin",
|
||||
"updated_at": Any<String>,
|
||||
},
|
||||
Object {
|
||||
"api_token": null,
|
||||
"created_at": Any<String>,
|
||||
"deleted_at": null,
|
||||
"email": "member@test.com",
|
||||
"first_name": "member",
|
||||
"id": "member-user",
|
||||
"last_name": "user",
|
||||
"metadata": null,
|
||||
"role": "member",
|
||||
"updated_at": Any<String>,
|
||||
},
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`/admin/users GET /admin/users returns user by id 1`] = `
|
||||
Object {
|
||||
"api_token": "test_token",
|
||||
"created_at": Any<String>,
|
||||
"deleted_at": null,
|
||||
"email": "admin@medusa.js",
|
||||
"first_name": null,
|
||||
"id": "admin_user",
|
||||
"last_name": null,
|
||||
"metadata": null,
|
||||
"role": "admin",
|
||||
"updated_at": Any<String>,
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`/admin/users POST /admin/users creates a user 1`] = `
|
||||
Object {
|
||||
"api_token": null,
|
||||
"created_at": Any<String>,
|
||||
"deleted_at": null,
|
||||
"email": "test@test123.com",
|
||||
"first_name": null,
|
||||
"id": StringMatching /\\^usr_\\*/,
|
||||
"last_name": null,
|
||||
"metadata": null,
|
||||
"role": "member",
|
||||
"updated_at": Any<String>,
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`/admin/users POST /admin/users updates a user 1`] = `
|
||||
Object {
|
||||
"api_token": null,
|
||||
"created_at": Any<String>,
|
||||
"deleted_at": null,
|
||||
"email": "member@test.com",
|
||||
"first_name": "karl",
|
||||
"id": "member-user",
|
||||
"last_name": "user",
|
||||
"metadata": null,
|
||||
"password_hash": null,
|
||||
"role": "member",
|
||||
"updated_at": Any<String>,
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`[MEDUSA_FF_ANALYTICS] /admin/analytics-config DELETE /admin/users Deletes a user and their analytics config 1`] = `
|
||||
Array [
|
||||
Object {
|
||||
"anonymize": false,
|
||||
"created_at": Any<Date>,
|
||||
"deleted_at": Any<Date>,
|
||||
"id": Any<String>,
|
||||
"opt_out": false,
|
||||
"updated_at": Any<Date>,
|
||||
"user_id": "member-user",
|
||||
},
|
||||
]
|
||||
`;
|
||||
@@ -54,14 +54,16 @@ describe("/admin/users", () => {
|
||||
const response = await api.get("/admin/users/admin_user", adminReqConfig)
|
||||
|
||||
expect(response.status).toEqual(200)
|
||||
expect(response.data.user).toMatchSnapshot({
|
||||
id: "admin_user",
|
||||
email: "admin@medusa.js",
|
||||
api_token: "test_token",
|
||||
role: "admin",
|
||||
created_at: expect.any(String),
|
||||
updated_at: expect.any(String),
|
||||
})
|
||||
expect(response.data.user).toEqual(
|
||||
expect.objectContaining({
|
||||
id: "admin_user",
|
||||
email: "admin@medusa.js",
|
||||
api_token: "test_token",
|
||||
role: "admin",
|
||||
created_at: expect.any(String),
|
||||
updated_at: expect.any(String),
|
||||
})
|
||||
)
|
||||
})
|
||||
|
||||
it("lists users", async () => {
|
||||
@@ -75,25 +77,72 @@ describe("/admin/users", () => {
|
||||
|
||||
expect(response.status).toEqual(200)
|
||||
|
||||
expect(response.data.users).toMatchSnapshot([
|
||||
{
|
||||
id: "admin_user",
|
||||
email: "admin@medusa.js",
|
||||
api_token: "test_token",
|
||||
role: "admin",
|
||||
created_at: expect.any(String),
|
||||
updated_at: expect.any(String),
|
||||
},
|
||||
{
|
||||
id: "member-user",
|
||||
role: "member",
|
||||
email: "member@test.com",
|
||||
first_name: "member",
|
||||
last_name: "user",
|
||||
created_at: expect.any(String),
|
||||
updated_at: expect.any(String),
|
||||
},
|
||||
])
|
||||
expect(response.data.users).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
id: "admin_user",
|
||||
email: "admin@medusa.js",
|
||||
api_token: "test_token",
|
||||
role: "admin",
|
||||
created_at: expect.any(String),
|
||||
updated_at: expect.any(String),
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: "member-user",
|
||||
role: "member",
|
||||
email: "member@test.com",
|
||||
first_name: "member",
|
||||
last_name: "user",
|
||||
created_at: expect.any(String),
|
||||
updated_at: expect.any(String),
|
||||
}),
|
||||
])
|
||||
)
|
||||
})
|
||||
|
||||
it("lists users that match the free text search", async () => {
|
||||
const api = useApi()
|
||||
|
||||
const response = await api.get("/admin/users?q=member", adminReqConfig)
|
||||
|
||||
expect(response.status).toEqual(200)
|
||||
|
||||
expect(response.data.users.length).toEqual(1)
|
||||
expect(response.data.users).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
id: "member-user",
|
||||
role: "member",
|
||||
email: "member@test.com",
|
||||
first_name: "member",
|
||||
last_name: "user",
|
||||
created_at: expect.any(String),
|
||||
updated_at: expect.any(String),
|
||||
}),
|
||||
])
|
||||
)
|
||||
})
|
||||
|
||||
it("orders users by created_at", async () => {
|
||||
const api = useApi()
|
||||
|
||||
const response = await api.get(
|
||||
"/admin/users?order=created_at",
|
||||
adminReqConfig
|
||||
)
|
||||
|
||||
expect(response.status).toEqual(200)
|
||||
expect(response.data.users.length).toBeGreaterThan(0)
|
||||
|
||||
for (let i = 0; i < response.data.users.length - 1; i++) {
|
||||
const user1 = response.data.users[i]
|
||||
const user2 = response.data.users[i + 1]
|
||||
|
||||
const date1 = new Date(user1.created_at)
|
||||
const date2 = new Date(user2.created_at)
|
||||
|
||||
expect(date1.getTime()).toBeLessThanOrEqual(date2.getTime())
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
@@ -138,13 +187,15 @@ describe("/admin/users", () => {
|
||||
.catch((err) => console.log(err))
|
||||
|
||||
expect(response.status).toEqual(200)
|
||||
expect(response.data.user).toMatchSnapshot({
|
||||
id: expect.stringMatching(/^usr_*/),
|
||||
created_at: expect.any(String),
|
||||
updated_at: expect.any(String),
|
||||
role: "member",
|
||||
email: "test@test123.com",
|
||||
})
|
||||
expect(response.data.user).toEqual(
|
||||
expect.objectContaining({
|
||||
id: expect.stringMatching(/^usr_*/),
|
||||
created_at: expect.any(String),
|
||||
updated_at: expect.any(String),
|
||||
role: "member",
|
||||
email: "test@test123.com",
|
||||
})
|
||||
)
|
||||
})
|
||||
|
||||
it("updates a user", async () => {
|
||||
@@ -159,15 +210,17 @@ describe("/admin/users", () => {
|
||||
.catch((err) => console.log(err.response.data.message))
|
||||
|
||||
expect(updateResponse.status).toEqual(200)
|
||||
expect(updateResponse.data.user).toMatchSnapshot({
|
||||
id: "member-user",
|
||||
created_at: expect.any(String),
|
||||
updated_at: expect.any(String),
|
||||
role: "member",
|
||||
email: "member@test.com",
|
||||
first_name: "karl",
|
||||
last_name: "user",
|
||||
})
|
||||
expect(updateResponse.data.user).toEqual(
|
||||
expect.objectContaining({
|
||||
id: "member-user",
|
||||
created_at: expect.any(String),
|
||||
updated_at: expect.any(String),
|
||||
role: "member",
|
||||
email: "member@test.com",
|
||||
first_name: "karl",
|
||||
last_name: "user",
|
||||
})
|
||||
)
|
||||
})
|
||||
|
||||
describe("Password reset", () => {
|
||||
@@ -417,17 +470,19 @@ describe("[MEDUSA_FF_ANALYTICS] /admin/analytics-config", () => {
|
||||
`SELECT * FROM public.analytics_config WHERE user_id = '${userId}'`
|
||||
)
|
||||
|
||||
expect(configs).toMatchSnapshot([
|
||||
{
|
||||
created_at: expect.any(Date),
|
||||
updated_at: expect.any(Date),
|
||||
deleted_at: expect.any(Date),
|
||||
id: expect.any(String),
|
||||
user_id: userId,
|
||||
opt_out: false,
|
||||
anonymize: false,
|
||||
},
|
||||
])
|
||||
expect(configs).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
created_at: expect.any(Date),
|
||||
updated_at: expect.any(Date),
|
||||
deleted_at: expect.any(Date),
|
||||
id: expect.any(String),
|
||||
user_id: userId,
|
||||
opt_out: false,
|
||||
anonymize: false,
|
||||
}),
|
||||
])
|
||||
)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user