| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /* eslint-env mocha */
- import { expect } from 'chai';
- import { Random } from 'meteor/random';
- import '../utils';
- // Unit tests for canUpdateBoardSort policy
- describe('boards security', function() {
- describe(canUpdateBoardSort.name, function() {
- it('denies anonymous updates even if fieldNames include sort', function() {
- const userId = null;
- const board = {
- hasMember: () => true,
- };
- const fieldNames = ['sort'];
- expect(canUpdateBoardSort(userId, board, fieldNames)).to.equal(false);
- });
- it('denies updates by non-members', function() {
- const userId = Random.id();
- const board = {
- hasMember: (id) => id === 'someone-else',
- };
- const fieldNames = ['sort'];
- expect(canUpdateBoardSort(userId, board, fieldNames)).to.equal(false);
- });
- it('allows updates when user is a member and updating sort', function() {
- const userId = Random.id();
- const board = {
- hasMember: (id) => id === userId,
- };
- const fieldNames = ['sort'];
- expect(canUpdateBoardSort(userId, board, fieldNames)).to.equal(true);
- });
- it('denies updates when not updating sort', function() {
- const userId = Random.id();
- const board = {
- hasMember: (id) => id === userId,
- };
- const fieldNames = ['title'];
- expect(canUpdateBoardSort(userId, board, fieldNames)).to.equal(false);
- });
- });
- });
|