mirror of
https://github.com/lowdefy/lowdefy.git
synced 2025-02-23 14:39:32 +08:00
fix(graphql): fix mongodb update one test
This commit is contained in:
parent
da84ef48f7
commit
edd765d519
@ -16,18 +16,16 @@
|
|||||||
|
|
||||||
import MongoDBUpdateOne from './MongoDBUpdateOne';
|
import MongoDBUpdateOne from './MongoDBUpdateOne';
|
||||||
import populateTestMongoDb from '../../../test/populateTestMongoDb';
|
import populateTestMongoDb from '../../../test/populateTestMongoDb';
|
||||||
import { ConfigurationError, RequestError } from '../../../context/errors';
|
import { ConfigurationError } from '../../../context/errors';
|
||||||
import testSchema from '../../../utils/testSchema';
|
import testSchema from '../../../utils/testSchema';
|
||||||
|
|
||||||
const { resolver, schema } = MongoDBUpdateOne;
|
const { resolver, schema, checkRead, checkWrite } = MongoDBUpdateOne;
|
||||||
|
|
||||||
const databaseUri = process.env.MONGO_URL;
|
const databaseUri = process.env.MONGO_URL;
|
||||||
const databaseName = 'test';
|
const databaseName = 'test';
|
||||||
const collection = 'updateOne';
|
const collection = 'updateOne';
|
||||||
const documents = [{ _id: 'updateOne', v: 'before' }];
|
const documents = [{ _id: 'updateOne', v: 'before' }];
|
||||||
|
|
||||||
const context = { ConfigurationError, RequestError };
|
|
||||||
|
|
||||||
beforeAll(() => {
|
beforeAll(() => {
|
||||||
return populateTestMongoDb({ collection, documents });
|
return populateTestMongoDb({ collection, documents });
|
||||||
});
|
});
|
||||||
@ -43,7 +41,7 @@ test('updateOne', async () => {
|
|||||||
collection,
|
collection,
|
||||||
write: true,
|
write: true,
|
||||||
};
|
};
|
||||||
const res = await resolver({ request, connection, context });
|
const res = await resolver({ request, connection });
|
||||||
expect(res).toEqual({
|
expect(res).toEqual({
|
||||||
modifiedCount: 1,
|
modifiedCount: 1,
|
||||||
upsertedId: null,
|
upsertedId: null,
|
||||||
@ -64,7 +62,7 @@ test('updateOne upsert', async () => {
|
|||||||
collection,
|
collection,
|
||||||
write: true,
|
write: true,
|
||||||
};
|
};
|
||||||
const res = await resolver({ request, connection, context });
|
const res = await resolver({ request, connection });
|
||||||
expect(res).toEqual({
|
expect(res).toEqual({
|
||||||
modifiedCount: 0,
|
modifiedCount: 0,
|
||||||
upsertedId: {
|
upsertedId: {
|
||||||
@ -88,7 +86,7 @@ test('updateOne upsert false', async () => {
|
|||||||
collection,
|
collection,
|
||||||
write: true,
|
write: true,
|
||||||
};
|
};
|
||||||
const res = await resolver({ request, connection, context });
|
const res = await resolver({ request, connection });
|
||||||
expect(res).toEqual({
|
expect(res).toEqual({
|
||||||
modifiedCount: 0,
|
modifiedCount: 0,
|
||||||
upsertedId: null,
|
upsertedId: null,
|
||||||
@ -108,7 +106,7 @@ test('updateOne upsert default false', async () => {
|
|||||||
collection,
|
collection,
|
||||||
write: true,
|
write: true,
|
||||||
};
|
};
|
||||||
const res = await resolver({ request, connection, context });
|
const res = await resolver({ request, connection });
|
||||||
expect(res).toEqual({
|
expect(res).toEqual({
|
||||||
modifiedCount: 0,
|
modifiedCount: 0,
|
||||||
upsertedId: null,
|
upsertedId: null,
|
||||||
@ -128,10 +126,7 @@ test('updateOne connection error', async () => {
|
|||||||
collection,
|
collection,
|
||||||
write: true,
|
write: true,
|
||||||
};
|
};
|
||||||
await expect(resolver({ request, connection, context })).rejects.toThrow(RequestError);
|
await expect(resolver({ request, connection })).rejects.toThrow('Invalid connection string');
|
||||||
await expect(resolver({ request, connection, context })).rejects.toThrow(
|
|
||||||
'Invalid connection string'
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('updateOne mongodb error', async () => {
|
test('updateOne mongodb error', async () => {
|
||||||
@ -145,40 +140,15 @@ test('updateOne mongodb error', async () => {
|
|||||||
collection,
|
collection,
|
||||||
write: true,
|
write: true,
|
||||||
};
|
};
|
||||||
await expect(resolver({ request, connection, context })).rejects.toThrow(RequestError);
|
await expect(resolver({ request, connection })).rejects.toThrow('Unknown modifier: $badOp');
|
||||||
await expect(resolver({ request, connection, context })).rejects.toThrow(
|
|
||||||
'MongoError: Unknown modifier: $badOp'
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('updateOne write false', async () => {
|
test('checkRead should be false', async () => {
|
||||||
const request = { filter: { _id: 'updateOne_write_false' }, update: { $set: { v: 'after' } } };
|
expect(checkRead).toBe(false);
|
||||||
const connection = {
|
|
||||||
databaseUri,
|
|
||||||
databaseName,
|
|
||||||
collection,
|
|
||||||
write: false,
|
|
||||||
};
|
|
||||||
await expect(resolver({ request, connection, context })).rejects.toThrow(ConfigurationError);
|
|
||||||
await expect(resolver({ request, connection, context })).rejects.toThrow(
|
|
||||||
'MongoDBCollection connection does not allow writes.'
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('updateOne write not specified', async () => {
|
test('checkWrite should be true', async () => {
|
||||||
const request = {
|
expect(checkWrite).toBe(true);
|
||||||
filter: { _id: 'updateOne_write_not_specified' },
|
|
||||||
update: { $set: { v: 'after' } },
|
|
||||||
};
|
|
||||||
const connection = {
|
|
||||||
databaseUri,
|
|
||||||
databaseName,
|
|
||||||
collection,
|
|
||||||
};
|
|
||||||
await expect(resolver({ request, connection, context })).rejects.toThrow(ConfigurationError);
|
|
||||||
await expect(resolver({ request, connection, context })).rejects.toThrow(
|
|
||||||
'MongoDBCollection connection does not allow writes.'
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('request not an object', async () => {
|
test('request not an object', async () => {
|
||||||
|
Loading…
Reference in New Issue
Block a user