Skip to content
Snippets Groups Projects
collection.test.js 2.25 KiB
Newer Older
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'
process.env.SUPPRESS_NO_CONFIG_WARNING = true

const { cloneDeep } = require('lodash')
const fixturesService = require('pubsweet-component-fixture-service')

const { Collection } = require('../Helper')

describe('Collection helper', () => {
  let testFixtures = {}
  beforeEach(() => {
    testFixtures = cloneDeep(fixtures)
  })

  describe('getReviewerNumber', () => {
    it('should assign reviewer number 1 on invitation if no other reviewer numbers exist', async () => {
      const { collection } = testFixtures.collections
      const { reviewer } = testFixtures.users
      const collectionHelper = new Collection({ collection })

      const reviewerNumber = await collectionHelper.getReviewerNumber({
      })

      expect(reviewerNumber).toBe(1)
    })
    it('should assign next reviewer number on invitation if another reviewer numbers exist', async () => {
      const { collectionReviewCompleted } = testFixtures.collections
      const { reviewer } = testFixtures.users
      const collectionHelper = new Collection({
        collection: collectionReviewCompleted,
      })

      const reviewerNumber = await collectionHelper.getReviewerNumber({
      })

      expect(reviewerNumber).toBe(3)
    })
    it('should keep reviewer number across fragment versions', async () => {
      const { oneReviewedFragmentCollection } = testFixtures.collections
      const { answerReviewer } = testFixtures.users
      const collectionHelper = new Collection({
        collection: oneReviewedFragmentCollection,
      })

      const reviewerNumber = await collectionHelper.getReviewerNumber({
      })

      expect(reviewerNumber).toBe(2)
    })
    it('should assign next reviewer number across fragment versions', async () => {
      const { oneReviewedFragmentCollection } = testFixtures.collections
      const { reviewer } = testFixtures.users
      const collectionHelper = new Collection({
        collection: oneReviewedFragmentCollection,
      })

      const reviewerNumber = await collectionHelper.getReviewerNumber({