@ammar-ahmed/automation-app-bot
Version:
Automation made easy and fun OH Yeah!
119 lines (97 loc) • 3.09 kB
JavaScript
const Helper = require('../../../__fixtures__/unit/helper')
const Assignee = require('../../../lib/validators/assignee')
test('that mergeable is false when less than minimum', async () => {
const assignee = new Assignee()
const settings = {
do: 'assignee',
min: {
count: 2
}
}
const validation = await assignee.processValidate(createMockPR(1), settings)
expect(validation.status).toBe('fail')
})
test('that mergeable is true when the same as minimum', async () => {
const assignee = new Assignee()
const settings = {
do: 'assignee',
min: {
count: 2
}
}
const validation = await assignee.processValidate(createMockPR(2), settings)
expect(validation.status).toBe('pass')
})
test('that mergeable is true when greater than minimum', async () => {
const assignee = new Assignee()
const settings = {
do: 'assignee',
min: {
count: 2
}
}
const validation = await assignee.processValidate(createMockPR(3), settings)
expect(validation.status).toBe('pass')
})
test('that description is dynamic based on minimum', async () => {
const assignee = new Assignee()
const settings = {
do: 'assignee',
min: {
count: 5
}
}
const validation = await assignee.processValidate(createMockPR(1), settings)
expect(validation.validations[0].description).toBe('assignee count is less than "5"')
})
test('that description is correct when mergeable', async () => {
const assignee = new Assignee()
const settings = {
do: 'assignee',
min: {
count: 5
}
}
const validation = await assignee.processValidate(createMockPR(5), settings)
expect(validation.validations[0].description).toBe("assignee does have a minimum of '5'")
})
test('checks that max is working', async () => {
const assignee = new Assignee()
const settings = {
do: 'assignee',
max: {
count: 2
}
}
let validation = await assignee.processValidate(createMockPR(3), settings)
expect(validation.status).toBe('fail')
expect(validation.validations[0].description).toBe('assignee count is more than "2"')
validation = await assignee.processValidate(createMockPR(2), settings)
expect(validation.status).toBe('pass')
})
test('checks that advance_setting message is working', async () => {
const assignee = new Assignee()
const settings = {
do: 'assignee',
max: {
count: 2,
message: 'test string'
}
}
let validation = await assignee.processValidate(createMockPR(3), settings)
expect(validation.status).toBe('fail')
expect(validation.validations[0].description).toBe('test string')
validation = await assignee.processValidate(createMockPR(2), settings)
expect(validation.status).toBe('pass')
})
const createMockPR = (minimum, data) => {
if (!data) {
data = []
for (let i = 0; i < minimum; i++) {
data.push({
login: `user${i}`
})
}
}
return Helper.mockContext({ assignees: data })
}