migrate.test.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. describe('config/migrate.js', () => {
  2. beforeEach(async() => {
  3. jest.resetModules();
  4. });
  5. /* eslint-disable indent */
  6. describe.each`
  7. MONGO_URI | expectedUrl | expectedDbName
  8. ${'mongodb://example.com/growi'} | ${'mongodb://example.com/growi'} | ${'growi'}
  9. ${'mongodb://user:pass@example.com/growi'} | ${'mongodb://user:pass@example.com/growi'} | ${'growi'}
  10. ${'mongodb://example.com/growi?replicaSet=mySet'} | ${'mongodb://example.com/growi?replicaSet=mySet'} | ${'growi'}
  11. `('returns', ({ MONGO_URI, expectedUrl, expectedDbName }) => {
  12. test(`when 'MONGO_URI' is '${MONGO_URI}`, () => {
  13. // mock for mongoose-utils
  14. jest.doMock('~/server/util/mongoose-utils', () => {
  15. return {
  16. getMongoUri: () => {
  17. return MONGO_URI;
  18. },
  19. };
  20. });
  21. const { mongoUri, mongodb } = require('^/config/migrate');
  22. jest.dontMock('~/server/util/mongoose-utils');
  23. expect(mongoUri).toBe(MONGO_URI);
  24. expect(mongodb.url).toBe(expectedUrl);
  25. expect(mongodb.databaseName).toBe(expectedDbName);
  26. });
  27. });
  28. /* eslint-enable indent */
  29. });