Skip to content

Commit e1732db

Browse files
authored
findPromotions: ignore users not in retrieved list (#19)
* findPromotions: ignore users not in retrieved list * Document the bugfix for #16
1 parent d30433f commit e1732db

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# `orglinter`
22

3+
- Fixed #16 - New users were causing an error in findPromotions
4+
35
## 0.1.0
46

57
- Initial MVP release

src/lib/checkers.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ function findDemotions(configured, retrieved) {
2222

2323
function findPromotions(configured, retrieved) {
2424
const promotions = Object.keys(configured).filter(
25-
(member) => configured[member] === 'ADMIN' && retrieved[member].role === 'MEMBER'
25+
(member) => configured[member] === 'ADMIN' && retrieved[member] && retrieved[member].role === 'MEMBER'
2626
);
2727
console.log(`${promotions.length} promotions found: `, promotions);
2828
return promotions;

test/checkers.spec.js

+8
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,14 @@ describe('Checkers', function () {
5151
);
5252
assume(result).eqls(['zaphod']);
5353
});
54+
55+
it('ignores users not in retrieved list', function () {
56+
const result = checkers.findPromotions(
57+
{ zaphod: 'ADMIN', trillian: 'ADMIN', marvin: 'MEMBER', ford: 'MEMBER' },
58+
{ zaphod: { role: 'MEMBER' }, marvin: { role: 'MEMBER' }, ford: { role: 'MEMBER' } }
59+
);
60+
assume(result).eqls(['zaphod']);
61+
});
5462
});
5563

5664
describe('validateTwoFactor', function () {

0 commit comments

Comments
 (0)