Skip to content

Commit 0f8d44a

Browse files
authored
Merge pull request #5 from feathers-community/feat/assert-before
feat: assert beforeAll
2 parents e360225 + e656d45 commit 0f8d44a

File tree

2 files changed

+54
-13
lines changed

2 files changed

+54
-13
lines changed

src/methods.ts

Lines changed: 51 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -82,23 +82,64 @@ export default (options: MethodTestOptions) => {
8282
let doug: any
8383
let service: any
8484

85-
beforeEach(async () => {
85+
beforeAll(async () => {
8686
service = app.service(serviceName)
87-
doug = await app.service(serviceName).create({
87+
88+
// test create
89+
doug = await service.create({
90+
name: 'Doug',
91+
age: 32,
92+
})
93+
94+
assert.ok(
95+
doug[idProp] !== null,
96+
`simple 'create' failed (no ${idProp}). Before you start to test the adapter make sure simple create works.`,
97+
)
98+
assert.strictEqual(
99+
doug.name,
100+
'Doug',
101+
"simple 'create' failed (no name). Before you start to test the adapter make sure simple create works.",
102+
)
103+
assert.strictEqual(
104+
doug.age,
105+
32,
106+
"simple 'create' failed (no age). Before you start to test the adapter make sure simple create works.",
107+
)
108+
109+
// test delete
110+
111+
const items = await service.find({ paginate: false })
112+
assert.ok(
113+
Array.isArray(items),
114+
'find with paginate:false did not return an array. Before you start to test the adapter make sure simple find works.',
115+
)
116+
assert.strictEqual(
117+
items.length,
118+
1,
119+
'find should return an item. Before you start to test the adapter make sure simple find works.',
120+
)
121+
assert.ok(
122+
idProp in items[0],
123+
`'find' should return an item with ${idProp}. Before you start to test the adapter make sure simple find works.`,
124+
)
125+
await Promise.all(items.map((item: any) => service.remove(item[idProp])))
126+
const itemsAfterRemove = await service.find({ paginate: false })
127+
assert.ok(
128+
itemsAfterRemove.length === 0,
129+
"'remove' does not work. Before you start to test the adapter make sure simple remove works.",
130+
)
131+
})
132+
133+
beforeEach(async () => {
134+
doug = await service.create({
88135
name: 'Doug',
89136
age: 32,
90137
})
91138
})
92139

93140
afterEach(async () => {
94-
try {
95-
const items = await app.service(serviceName).find({ paginate: false })
96-
await Promise.all(
97-
items.map((item: any) => service.remove(item[idProp])),
98-
)
99-
} catch {
100-
// Ignore errors
101-
}
141+
const items = await service.find({ paginate: false })
142+
await Promise.all(items.map((item: any) => service.remove(item[idProp])))
102143
})
103144

104145
const config = {

src/syntax.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,9 @@ export default (options: SyntaxTestOptions) => {
106106
})
107107

108108
afterEach(async () => {
109-
await service.remove(bob[idProp])
110-
await service.remove(alice[idProp])
111-
await service.remove(doug[idProp])
109+
const items = await service.find({ paginate: false })
110+
111+
await Promise.all(items.map((item: any) => service.remove(item[idProp])))
112112
})
113113

114114
const config = {

0 commit comments

Comments
 (0)