Story 1.0.12.5. CRM. Filter panel

Content

General info

This story focuses on the functionality to filter items on different pages in CRM based on various criteria, such as status, process type, company, category, consultant, etc. Users can apply multiple filters simultaneously to narrow down the list that is shown on the page.

Investigation: 2024-08 Search Queries for Candidate Search

User story

As a CRM user,
I want to filter items on the list using various criteria,
So that I can quickly find relevant information based on specific requirements.

Visual design:

https://www.figma.com/design/I5CXH7H3ICD0vfA1kPbcVf/Rocken-Design?node-id=57218-10562&t=aLfLqWjgjni4WYGn-4

Acceptance criteria

01

Scenario: Opening the Filters panel
Given I am on the List page
When I click on the "Filters" link
Then the filters panel should open on the right side of the screen, displaying filter options

image-20241112-130339.png

01a

Scenario: Closing Filters panel
Given I opened filters panel
When hover on the arrow icon or “Filters“ text
AND click on icon or on the text
Then the filters panel should closer

02

Scenario: Applying filters
Given the filters panel is open
When I select values in filter fields (e.g., entering keywords, selecting skills)
Then the list should update to show only information that match the selected filter criteria.
AND I can see a spinner before the page is reacted to the filter

03

Scenario: Applying non-suggested keywords
Given I have entered a keyword that is not part of the suggested list
When I press the "Enter" key
Then the filter should accept this keyword, and the list should update accordingly.

https://cheitgroup.atlassian.net/wiki/spaces/RD/pages/845152315/Story+1.0.12.1.+CRM.+Filter+component.+Select+with+autosuggest?atl_f=PAGETREE

04

Scenario: Clearing individual filter tags
Given I have applied filters
When I hover on the tag
AND click "x" on the tag or on tag
Then that specific filter should be removed, and the list should update accordingly.

image-20241118-072554.png

05

Scenario: Clearing individual filters
Given I have applied filters
When I click "Clear" next to any filter field
Then that specific filter should be removed, and the list should update accordingly.

image-20241118-072611.png

05a

Scenario: Appear Clearing individual filters
Given I don’t have applied tags/filters in the component
When applied at least one tag/filter
Then see the “clear“ link next the field in the component

image-20241202-081235.png

06

Scenario: Clearing all filters
Given I have applied multiple filters
When I click "Clear all" at the top of the filters panel
Then all applied filters should be removed, and the list should reset to display all vacancies.

image-20241118-072626.png

06a

Scenario: Appear Clearing all filters
Given I don’t have applied any filters on the page
When applied at least one filter
Then see the “clear all“ link in filter section

image-20241202-081359.png

07

OOS Scenario: Persistent Filters

Given: I have applied filters to the list table,

When: I navigate away from the page and return later,

Then: the previously applied filters should persist,

AND the table should display the filtered list as per the last set.

08

Scenario: Apply date range filter
Given I am on the list page
When I set a date range using "From-To" component
Then the system displays information that were created within the selected date range.

https://cheitgroup.atlassian.net/wiki/spaces/RD/pages/853475329/Story+1.0.12.3.+CRM.+Filter+component.+Simple+Date+Picker+From-To?atl_f=PAGETREE

didn’t do this component, we are using date picker for apply ranges

image-20241118-072753.png

09

Scenario: Filter no results 

Given the user inputs invalid data into a filter field (e.g., end date before start date) or enter not matching data

When the filters are applied automatically

Then the system should display an appropriate message on a page

image-20241118-072817.png

10

OOS Scenario: Prefilter by your country

Given: I German CRM user,

When: I open the list page

Then: see only information from Germany (prefilter) with a flag close to the name

image-20241125-072956.png

11

Scenario: Displaying applied filters
Given I have applied filters,
When I view the List page,
Then the applied filters should be displayed directly under the title of the page.

image-20250127-142017.png

12

Scenario: Clearing all filters
Given I have applied filters,
When I click the "Clear all" option,
Then all filters should be cleared and the page should display all entities without any applied filters.

13

Scenario: Clearing a single filter
Given I have applied multiple filters,
When I click the “x“ (clear) option for a single filter,
Then only that specific filter should be cleared, and the other filters should remain applied.

#

Filter Field

Acceptance Criteria

Select data

https://api.staging.rockengroup.com/api-documentation-2000#/Vacancy/get_api_v1_vacancies

01

Title

Scenario: User applies a job title filter.
Given the user enters a title,
When the title exists,
Then suggestions are displayed.

Scenario: User applies a title not in suggestions.
Given the user enters a title,
When the user presses "Enter,"
Then the input is accepted as custom.

Select type:

  • multi select OOS

  • multi tags

  • search OOS

  • suggestions OOS

  • custom tags

titles[]

02

Keyword

Scenario: User applies a keyword filter.
Given the user enters a custom keyword,
When it is find info in any vacancy fields without suggestions
AND data matches with keyword ,
Then relevant results are displayed

Select type:

  • multi select OOS

  • multi tags

  • search OOS

  • suggestions OOS

  • custom tags

keywords[]

Search by fields:

  • Name of the vacancy

  • Descriptions: Introduction, Description, Responsibilities

  • Name of the Company

  • Skills

  • Locations

03

Status

Scenario: User applies a status filter.
Given the user selects a status,
When the selection is made,
Then the results reflect the selected status.

Select type: multi select, with search and suggestions, without custom tags

Select type:

  • multi select

  • multi tags

  • search

  • suggestions

  • custom tags OOS

statuses[]

Options:

  • New / Neu

  • Active / Aktiv

  • On hold / On hold

  • Inactive / Inaktiv

  • Rocked / Rocked

04

Business Unit

Scenario: User filters by business unit.
Given business units exist,
When one is selected,
Then results match the selection.

Select type: multi select, with search and suggestions, without custom tags

Select type:

  • multi select

  • multi tags

  • search

  • suggestions

  • custom tags OOS

business_units[]

05

Consultant

Scenario: User applies a consultant filter.
Given consultant options exist,
When one is selected,
Then results show jobs managed by the consultant.

Select type:

  • multi select

  • multi tags

  • search

  • suggestions

  • custom tags OOS

consultants[]

06

Created Date

Scenario: User applies a date range.
Given the user selects "From" and "To" dates,
When dates are valid,
Then results are filtered by the date range.

date_range[]

Placeholders:

From / Von

To / Bis

07

Location

Scenario: User applies a location filter.
Given the user enters a location (city),
When matched cities exist,
Then suggestions are displayed.

Select type: single select, search and suggestions, without custom tags

Select type:

  • single select

  • single tag

  • search

  • suggestions

  • custom tags OOS

location

08

Search Radius

Scenario: User filters by search radius.
Given a numeric input field,
When a radius is entered,
Then results match the specified area that related to selected “Location“.

search_radius

09

Company

Scenario: User applies a company filter.
Given the user types a company name,
When matches exist,
Then suggestions are displayed.

Select type: multi select, with search and suggestions, without custom tags

Select type:

  • multi select

  • multi tags

  • search

  • suggestions

  • custom tags OOS

companies[]

10

Industries

Scenario: User applies an industry filter.
Given the user types an industry,
When matches exist,
Then suggestions are displayed.

Select type:

  • multi select

  • multi tags

  • search

  • suggestions

  • custom tags OOS

industries[]

11

Category

Scenario: User applies a category filter.
Given the user types a category,
When matches exist,
Then suggestions are displayed.

Select type:

  • multi select

  • multi tags

  • search

  • suggestions

  • custom tags OOS

categories[]

12

Skills

Scenario: User applies a skill filter.
Given the user enters a skill,
When matches exist,
Then suggestions are displayed.

Select type:

  • multi select

  • multi tags

  • search

  • suggestions

  • custom tags OOS

skills[]

13

Experience Level

Scenario: User filters by experience level.
Given experience levels,
When one or more levels are selected,
Then results show matching requirements.

Select type: multi select, without search and suggestions, without custom tags

Select type:

  • multi select

  • multi tags

  • search OOS

  • suggestions OOS

  • custom tags OOS

experiences_level[]

Options:

  • Junior / Junior

  • Professional / Professional

  • Senior / Senior

  • Executive / Executive

14

Employment Type

Scenario: User filters by employment type.
Given available options,
When a type is selected,
Then results reflect the chosen type.

Select type:

  • multi select

  • multi tags

  • search OOS

  • suggestions OOS

  • custom tags OOS

employments[]

Options:

  • Full time / Vollzeit

  • Permanent / Festanstellung

  • Part-time / Teilzeit

  • Temporary / Temporär

15

Degrees

Scenario: User filters by degree type.
Given degree options exist,
When one or more are selected,
Then results show relevant vacancies.

Select type:

  • multi select

  • multi tags

  • search

  • suggestions

  • custom tags OOS

degrees[]

Options:

  • Master / Master (Hochschule)

  • Bachelor / Bachelor (Hochschule)

  • Diploma DAS / Diploma of Advanced Studies DAS

  • Gymnasium / Gymnasium

  • Federal Professional Certificate / Eidg. Fachausweis

  • Certificate CAS / Certificate of Advanced Studies CAS

  • Master MAS / Master of Advanced Studies MAS

  • Doctorate / Doktorat

  • Secondary technical school / Fachmittelschule

  • Basic vocational training (apprenticeship) EFZ / Berufliche Grundbildung (Lehre) EFZ

  • Higher technical college HF / Höhere Fachschule HF

  • Federal Diploma / Eidg. Diplom

  • Vocational Baccalaureate / Berufsmaturität

  • MBA / MBA

16

Process Type

Scenario: User applies process type filter.
Given process types exist,
When one is selected,
Then results match the selection.

Select type:

  • single select

  • single tag

  • search OOS

  • suggestions OOS

  • custom tags OOS

No API, just Front Enum options

Options:

  • Email / E-Mail

  • Download / Download

17

Job Model

Scenario: User applies a job model filter.
Given job models exist,
When one is selected,
Then results match the selected model.

Select type:

  • single select

  • single tag

  • search OOS

  • suggestions OOS

  • custom tags OOS

No API, just Front Enum options

Options:

  • Default / Standard

  • PaaS / PaaS

  • Executive / Executive

18

Salary Range

Scenario: User filters by salary range.
Given the user inputs "From" and "To" values,
When valid,
Then results show jobs in the range.

salary_range_from

salary_range_to

Placeholders:

From / Von

To / Bis

19

Start Date

Scenario: User filters by start date.
Given a valid date picker,
When a date is selected,
Then jobs starting after the date are displayed.

start_date

20

Remote Work

Scenario: User filters for remote jobs.
Given remote work options,
When selected,
Then only remote type jobs are shown.

Select type:

  • multi select

  • multi tags

  • search OOS

  • suggestions OOS

  • custom tags OOS

remote_work_types[]

Options:

  • Undefined / Undefiniert

  • Home office / Home office

  • Remote Work / Remote

  • Hybrid / Hybrid

  • On-Site / On-Site

21

Position

Scenario: User applies a position filter.
Given position options exist,
When one is selected,
Then it filters jobs with that position.

Select type:

  • single select

  • single tag

  • search OOS

  • suggestions OOS

  • custom tags OOS

No API, just Front Enum options

Options:

  • Specialist / Fachposition

  • Professional / Führungsposition

  • Executive / Executive

22

Leading Experience

Scenario: User applies a leadership experience filter.
Given experience levels exist,
When one is selected,
Then relevant jobs are displayed.

Select type:

  • single select

  • single tag

  • search OOS

  • suggestions OOS

  • custom tags OOS

There is API: leading_experience
BUT using: Front Enum options

Options:

  • None / Keine

  • Professional guidance of employees / Fachliche Führung von Mitarbeitenden

  • Management of project teams / Führung von Projektteams

  • Personal leadership experience / Personelle Führungserfahrung

23

Languages

Scenario: User filters by language.
Given language options exist,
When one is selected,
Then results reflect vacancies requiring that language.

Select type:

  • multi select

  • multi tags

  • search OOS

  • suggestions OOS

  • custom tags OOS

languages[]

24

Workload

Scenario: User filters by workload.
Given Slider exist,
When select some workload,
Then results match the range.

workload[]

0-100%

25

CRM users/SPOC

Scenario: User applies CRM user / SPOC filter.
Given available CRM user / SPOC option,
When one Single person of contact or CRM user is selected,
Then results filter accordingly this user.

Select type:

  • single select

  • single tag

  • search

  • suggestions

  • custom tags OOS

spoc[]

26

Reserved

Scenario: User filters for reserved jobs.
Given a reserved filter fields,
When selected “yes”,
Then only reserved jobs are displayed.

Select type:

  • single select

  • single tag

  • search OOS

  • suggestions OOS

  • custom tags OOS

reserved

Options:

  • yes / ja

  • no / nein

27

OOS Country

Scenario: User filters by country.
Given country options exist,
When one is selected,
Then only jobs in that country are displayed.

Select type:

  • single select

  • single tag

  • search OOS

  • suggestions OOS

  • custom tags OOS

should be added to API by backend developer

Options:

  • Switzerland / Schweiz

  • Germany / Deutschland

Comments

Leave a Reply