add method to filter changes by given scopes
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import {expect, test} from '@jest/globals'
|
import {expect, test} from '@jest/globals'
|
||||||
import {Change, Changes} from '../src/schemas'
|
import {Change, Changes} from '../src/schemas'
|
||||||
import {filterChangesBySeverity} from '../src/filter'
|
import {filterChangesBySeverity, filterChangesByScopes} from '../src/filter'
|
||||||
|
|
||||||
let npmChange: Change = {
|
let npmChange: Change = {
|
||||||
manifest: 'package.json',
|
manifest: 'package.json',
|
||||||
@@ -59,3 +59,16 @@ test('it properly filters changes by severity', async () => {
|
|||||||
result = filterChangesBySeverity('critical', changes)
|
result = filterChangesBySeverity('critical', changes)
|
||||||
expect(changes).toEqual([npmChange, rubyChange])
|
expect(changes).toEqual([npmChange, rubyChange])
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('it properly filters changes by scope', async () => {
|
||||||
|
const changes = [npmChange, rubyChange]
|
||||||
|
|
||||||
|
let result = filterChangesByScopes(['runtime'], changes)
|
||||||
|
expect(result).toEqual([npmChange])
|
||||||
|
|
||||||
|
result = filterChangesByScopes(['development'], changes)
|
||||||
|
expect(result).toEqual([rubyChange])
|
||||||
|
|
||||||
|
result = filterChangesByScopes(['runtime', 'development'], changes)
|
||||||
|
expect(result).toEqual([npmChange, rubyChange])
|
||||||
|
})
|
||||||
|
|||||||
+14
-1
@@ -1,4 +1,4 @@
|
|||||||
import {Changes, Severity, SEVERITIES} from './schemas'
|
import {Changes, Severity, SEVERITIES, Scope, SCOPES} from './schemas'
|
||||||
|
|
||||||
export function filterChangesBySeverity(
|
export function filterChangesBySeverity(
|
||||||
severity: Severity,
|
severity: Severity,
|
||||||
@@ -33,3 +33,16 @@ export function filterChangesBySeverity(
|
|||||||
)
|
)
|
||||||
return filteredChanges
|
return filteredChanges
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function filterChangesByScopes(
|
||||||
|
scopes: Scope[],
|
||||||
|
changes: Changes
|
||||||
|
): Changes {
|
||||||
|
const filteredChanges = changes.filter(change => {
|
||||||
|
if (scopes.indexOf(change.scope) > -1) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
return filteredChanges
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user