2020-05-05 14:20:08 +00:00
import { createLocalVue } from '@vue/test-utils' ;
2019-10-03 15:40:38 +00:00
import groupsUtilities from '@/mixins/groupsUtilities' ;
import { TAVERN _ID } from '@/../../common/script/constants' ;
import generateStore from '@/store' ;
2020-05-05 14:20:08 +00:00
import Store from '@/libs/store' ;
const LocalVue = createLocalVue ( ) ;
LocalVue . use ( Store ) ;
2017-03-03 18:38:17 +00:00
describe ( 'Groups Utilities Mixin' , ( ) => {
2020-05-05 14:20:08 +00:00
let instance ;
let user ;
2017-03-03 18:38:17 +00:00
before ( ( ) => {
2020-05-05 14:20:08 +00:00
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 ( ) ,
2017-03-03 18:38:17 +00:00
mixins : [ groupsUtilities ] ,
} ) ;
user = {
_id : '123' ,
party : {
_id : '456' ,
} ,
guilds : [ '789' ] ,
} ;
} ) ;
describe ( 'isMemberOfGroup' , ( ) => {
it ( 'registers as a method' , ( ) => {
2018-02-19 18:38:20 +00:00
expect ( instance . isMemberOfGroup ) . to . exist ;
2017-03-03 18:38:17 +00:00
} ) ;
it ( 'returns true when the group is the Tavern' , ( ) => {
expect ( instance . isMemberOfGroup ( user , {
_id : TAVERN _ID ,
} ) ) . to . equal ( true ) ;
} ) ;
it ( 'returns true when the group is the user\'s party' , ( ) => {
expect ( instance . isMemberOfGroup ( user , {
type : 'party' ,
_id : user . party . _id ,
} ) ) . to . equal ( true ) ;
} ) ;
it ( 'returns false when the group is not the user\'s party' , ( ) => {
expect ( instance . isMemberOfGroup ( user , {
type : 'party' ,
_id : 'not my party' ,
} ) ) . to . equal ( false ) ;
} ) ;
it ( '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 ) ;
} ) ;
it ( '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 ) ;
} ) ;
} ) ;
2020-03-16 19:03:48 +00:00
describe ( 'filterGuild' , ( ) => {
let testGroup ;
let testGroup2 ;
before ( ( ) => {
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 ,
} ;
} ) ;
it ( 'returns true with no filter and no search' , ( ) => {
const filter = { } ;
const search = '' ;
expect ( instance . filterGuild ( testGroup , filter , search , user ) ) . to . equal ( true ) ;
} ) ;
it ( 'returns false with no filter and one search word not matching against any of the guild name, summary, and description' , ( ) => {
const filter = { } ;
const search = '3d' ;
expect ( instance . filterGuild ( testGroup , filter , search , user ) ) . to . equal ( false ) ;
} ) ;
it ( 'returns true with no filter and one search word matched successfully against guild name' , ( ) => {
const filter = { } ;
const search = 'vow' ;
expect ( instance . filterGuild ( testGroup , filter , search , user ) ) . to . equal ( true ) ;
} ) ;
it ( 'returns true with no filter and one search word matched successfully against guild summary' , ( ) => {
const filter = { } ;
const search = 'test' ;
expect ( instance . filterGuild ( testGroup , filter , search , user ) ) . to . equal ( true ) ;
} ) ;
it ( 'returns true with no filter and one search word matched successfully against guild description' , ( ) => {
const filter = { } ;
const search = 'dum' ;
expect ( instance . filterGuild ( testGroup , filter , search , user ) ) . to . equal ( true ) ;
} ) ;
it ( 'returns true with no filter and two search words with two spaces in between matched successfully against guild name' , ( ) => {
const filter = { } ;
const search = 'cad test' ;
expect ( instance . filterGuild ( testGroup2 , filter , search , user ) ) . to . equal ( true ) ;
} ) ;
it ( 'returns true with no filter and two search words with two spaces in between matched successfully against guild summary' , ( ) => {
const filter = { } ;
const search = 'cad 3d' ;
expect ( instance . filterGuild ( testGroup2 , filter , search , user ) ) . to . equal ( true ) ;
} ) ;
it ( 'returns true with no filter and two search words with two spaces in between matched successfully against guild description' , ( ) => {
const filter = { } ;
const search = 'my dummy' ;
expect ( instance . filterGuild ( testGroup2 , filter , search , user ) ) . to . equal ( true ) ;
} ) ;
it ( 'returns false with no search word and one filter category that does not match against any guild categories' , ( ) => {
const filter = {
categories : [ 'academics' ] ,
} ;
const search = '' ;
expect ( instance . filterGuild ( testGroup , filter , search , user ) ) . to . equal ( false ) ;
} ) ;
it ( 'returns true with no search word and one filter category that matches successfully against any guild categories' , ( ) => {
const filter = {
categories : [ 'hobbies_occupations' ] ,
} ;
const search = '' ;
expect ( instance . filterGuild ( testGroup , filter , search , user ) ) . to . equal ( true ) ;
} ) ;
it ( 'returns false with no search word and one filter role that does not match against guild role' , ( ) => {
const filter = {
roles : [ 'guild_leader' ] ,
} ;
const search = '' ;
expect ( instance . filterGuild ( testGroup , filter , search , user ) ) . to . equal ( false ) ;
} ) ;
it ( 'returns true with no search word and one filter role that matches successfully against guild role' , ( ) => {
const filter = {
roles : [ 'member' ] ,
} ;
const search = '' ;
expect ( instance . filterGuild ( testGroup , filter , search , user ) ) . to . equal ( true ) ;
} ) ;
it ( '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' , ( ) => {
const filter = {
guildSize : 'gold_tier' ,
} ;
const search = '' ;
expect ( instance . filterGuild ( testGroup , filter , search , user ) ) . to . equal ( true ) ;
} ) ;
it ( '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' , ( ) => {
const filter = {
guildSize : 'silver_tier' ,
} ;
const search = '' ;
expect ( instance . filterGuild ( testGroup2 , filter , search , user ) ) . to . equal ( true ) ;
} ) ;
it ( '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' , ( ) => {
const filter = {
categories : [ 'hobbies_occupations' ] ,
roles : [ 'guild_leader' ] ,
} ;
const search = '' ;
expect ( instance . filterGuild ( testGroup , filter , search , user ) ) . to . equal ( false ) ;
} ) ;
it ( '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' , ( ) => {
const filter = {
categories : [ 'hobbies_occupations' ] ,
roles : [ 'guild_leader' ] ,
} ;
const search = '' ;
expect ( instance . filterGuild ( testGroup2 , filter , search , user ) ) . to . equal ( true ) ;
} ) ;
it ( 'returns false with one search word that does not match against guild name and one filter category that matches successfully against guild categories' , ( ) => {
const filter = {
categories : [ 'hobbies_occupations' ] ,
} ;
const search = 'konnichiwa' ;
expect ( instance . filterGuild ( testGroup , filter , search , user ) ) . to . equal ( false ) ;
} ) ;
it ( 'returns true with one search word that matches against guild name and one filter role that matches successfully against guild role' , ( ) => {
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
} ) ;