habitica/website/client/tests/unit/mixins/groupsUtilities.spec.js

240 lines
8.2 KiB
JavaScript
Raw Permalink Normal View History

import {
describe, expect, test, beforeEach,
} from 'vitest';
import { createLocalVue } from '@vue/test-utils';
import { TAVERN_ID } from '@/../../common/script/constants';
import groupsUtilities from '@/mixins/groupsUtilities';
import generateStore from '@/store';
import Store from '@/libs/store';
const LocalVue = createLocalVue();
LocalVue.use(Store);
describe('Groups Utilities Mixin', () => {
let instance;
let user;
beforeEach(() => {
instance = new LocalVue({
Client Redesign: Inventory pages, secondary menu, misc css and design items (#8631) * add colors palette * add secondary menu component and style it * add box shadow to secondary menu * misc css, fixes for secondary menu * client: add equipment page with grouping, css: add some styles * add typography * more equipment * stable: fix linting * equipment: add styles (lots of general styles too) * remove duplicate google fonts loading * add dropdowns * design: white search input background, remove gray from items * start adding drawer and selected indicator * wip equipment * fix equipment * equipment: correctly bind new properties on items.gear.equipped * equipment: fix vue binding. version 2 * equipment: fix vue binding. version 3 * back to first fix for equip op, fix for sourcemaps, send http request when an item is equipped, load bootstrap-vue components where needed * checkboxes and radio buttons * correctly renders selected items in first postion during the first render * add search * general changes, constants part of app state, add popovers * add toggle switch, rename css * correct offset * upgrade deps * upgrade deps * drawer and lot of other work * update equipping mechanism * finish equipment * fix compilation and upgrade deps * use v-show in place of v-if to fix ui issues * v-show -> v-if * fix linting in test/client * fix es6 compilation in test/client * fix babel compilation for tests * fix groupsUtilities mixin tests * client: buttons * client: buttons: fix colors * client: finish buttons and dropdowns * upgrade bootstrap-vue, finish buttons and dropdowns * fix tasks page layout * misc fixes for buttons * add textareas * fix app menu * add inputs * fixes for toggleSwitch * typography * checkboxes and radio buttons * add checkbox icon * fix equip.js * extract strings to newClient.json * add Popover above 'Use Costume' / 'Auto Equip' slider - disable item select if costume-mode and 'useCostume' isn't active * show "you have disabled your costume" error above the drawer items * check errorMessage for null * hide star if costume not enabled * fix errorMessage (!errorMessage seems not to work for string) * show minimize / expand icon - always centered by css * drawer test * drawer: fix centering on large screens * fix show more button * add margin when two dropdowns are next to each other * adjust the page padding based on the drawer, misc fixes * drawer fixes
2017-05-16 19:09:55 +00:00
store: generateStore(),
mixins: [groupsUtilities],
});
user = {
_id: '123',
party: {
_id: '456',
},
guilds: ['789'],
};
});
describe('isMemberOfGroup', () => {
test('registers as a method', () => {
2018-02-19 18:38:20 +00:00
expect(instance.isMemberOfGroup).to.exist;
});
test('returns true when the group is the Tavern', () => {
expect(instance.isMemberOfGroup(user, {
_id: TAVERN_ID,
})).to.equal(true);
});
test('returns true when the group is the user\'s party', () => {
expect(instance.isMemberOfGroup(user, {
type: 'party',
_id: user.party._id,
})).to.equal(true);
});
test('returns false when the group is not the user\'s party', () => {
expect(instance.isMemberOfGroup(user, {
type: 'party',
_id: 'not my party',
})).to.equal(false);
});
test('returns true when the group is not a guild of which the user is a member', () => {
expect(instance.isMemberOfGroup(user, {
type: 'guild',
_id: user.guilds[0],
})).to.equal(true);
});
test('returns false when the group is not a guild of which the user is a member', () => {
expect(instance.isMemberOfGroup(user, {
type: 'guild',
_id: 'not my guild',
})).to.equal(false);
});
});
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
describe('filterGuild', () => {
let testGroup;
let testGroup2;
beforeEach(() => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
testGroup = {
type: 'guild',
_id: user.guilds[0],
name: 'Crimson Vow',
summary: 'testing',
description: 'dummy 1',
leader: user.guilds[0], // test user is not guild leader
categories: [{
_id: '123',
slug: 'hobbies_occupations',
name: 'hobbies_occupations',
}],
categorySlugs: ['hobbies_occupations'],
memberCount: 1000,
};
testGroup2 = {
type: 'guild',
_id: '790',
name: 'CAD Cads',
summary: '3D',
description: 'My dummy',
leader: user._id, // test user is guild leader
categories: [{
_id: '123',
slug: 'hobbies_occupations',
name: 'hobbies_occupations',
}],
categorySlugs: ['hobbies_occupations'],
memberCount: 100,
};
});
test('returns true with no filter and no search', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {};
const search = '';
expect(instance.filterGuild(testGroup, filter, search, user)).to.equal(true);
});
test('returns false with no filter and one search word not matching against any of the guild name, summary, and description', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {};
const search = '3d';
expect(instance.filterGuild(testGroup, filter, search, user)).to.equal(false);
});
test('returns true with no filter and one search word matched successfully against guild name', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {};
const search = 'vow';
expect(instance.filterGuild(testGroup, filter, search, user)).to.equal(true);
});
test('returns true with no filter and one search word matched successfully against guild summary', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {};
const search = 'test';
expect(instance.filterGuild(testGroup, filter, search, user)).to.equal(true);
});
test('returns true with no filter and one search word matched successfully against guild description', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {};
const search = 'dum';
expect(instance.filterGuild(testGroup, filter, search, user)).to.equal(true);
});
test('returns true with no filter and two search words with two spaces in between matched successfully against guild name', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {};
const search = 'cad test';
expect(instance.filterGuild(testGroup2, filter, search, user)).to.equal(true);
});
test('returns true with no filter and two search words with two spaces in between matched successfully against guild summary', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {};
const search = 'cad 3d';
expect(instance.filterGuild(testGroup2, filter, search, user)).to.equal(true);
});
test('returns true with no filter and two search words with two spaces in between matched successfully against guild description', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {};
const search = 'my dummy';
expect(instance.filterGuild(testGroup2, filter, search, user)).to.equal(true);
});
test('returns false with no search word and one filter category that does not match against any guild categories', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {
categories: ['academics'],
};
const search = '';
expect(instance.filterGuild(testGroup, filter, search, user)).to.equal(false);
});
test('returns true with no search word and one filter category that matches successfully against any guild categories', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {
categories: ['hobbies_occupations'],
};
const search = '';
expect(instance.filterGuild(testGroup, filter, search, user)).to.equal(true);
});
test('returns false with no search word and one filter role that does not match against guild role', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {
roles: ['guild_leader'],
};
const search = '';
expect(instance.filterGuild(testGroup, filter, search, user)).to.equal(false);
});
test('returns true with no search word and one filter role that matches successfully against guild role', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {
roles: ['member'],
};
const search = '';
expect(instance.filterGuild(testGroup, filter, search, user)).to.equal(true);
});
test('returns true with no search word and filter size silver tier that matches against a guild size of 1000, the max guild size belonging to silver tier', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {
guildSize: 'gold_tier',
};
const search = '';
expect(instance.filterGuild(testGroup, filter, search, user)).to.equal(true);
});
test('returns true with no search word and filter size bronze tier that matches against a guild size of 100, the max guild size belonging to bronze tier', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {
guildSize: 'silver_tier',
};
const search = '';
expect(instance.filterGuild(testGroup2, filter, search, user)).to.equal(true);
});
test('returns false with no search word and filter category that matches successfully against one guild category and filter role that does not match against guild role', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {
categories: ['hobbies_occupations'],
roles: ['guild_leader'],
};
const search = '';
expect(instance.filterGuild(testGroup, filter, search, user)).to.equal(false);
});
test('returns true with no search word and filter category that matches successfully against one guild category and filter role that matches successfully against guild role', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {
categories: ['hobbies_occupations'],
roles: ['guild_leader'],
};
const search = '';
expect(instance.filterGuild(testGroup2, filter, search, user)).to.equal(true);
});
test('returns false with one search word that does not match against guild name and one filter category that matches successfully against guild categories', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {
categories: ['hobbies_occupations'],
};
const search = 'konnichiwa';
expect(instance.filterGuild(testGroup, filter, search, user)).to.equal(false);
});
test('returns true with one search word that matches against guild name and one filter role that matches successfully against guild role', () => {
Fix for search guilds result being inconsistent between "My Guilds" and "Discover Guilds" (#11903) * Fix bug to allow guild summary and description to match against search term in MyGuilds component * Add unit test to groupUtilities to test filterGroup function * Changes made after running npm:run:lint * Fix bug when filter guild function does not match against guild size correctly when the guild has member count = 100 or 1000 According to habitica wiki Guilds Guide, gold-tier guilds are guilds with 1000 or more members. However, under the current code of filter guild function, it matches guilds as gold-tier as strictly more than 1000 members, excluding 1000 members. Similar silver-tier guilds should have 100 to 999 members, but the current code it matches guilds as silver-tier for members between 101 and 999 members. * Added unit tests to test the newly added code in the groupsUtilities mixin for the current issue * Add unit testing to test search guild name, summary, and description in myGuilds component * Add suggestions from lint * Added searching by guild summary and white space handling in search terms. For discover guilds component, added the following: 1) handling of searching by guild summary 2) preventing white space in search terms to display all guilds 3) added test cases for testing the search functionality in discove guilds to ensure consistent behaviour between the searching in MyGuilds and public guilds. * Remove console statements from test file * Implement suggestions from lint. Co-authored-by: osiris <eynsan@yahoo.co.uk>
2020-03-16 19:03:48 +00:00
const filter = {
categories: ['hobbies_occupations'],
};
const search = 'vow';
expect(instance.filterGuild(testGroup, filter, search, user)).to.equal(true);
});
});
2019-10-09 18:08:36 +00:00
});