Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: adding unit tests for tools component #1887

Merged
merged 64 commits into from
Aug 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
08177f3
initial test
reachaadrika Jun 21, 2023
e45a590
additional changes in tests
reachaadrika Jun 30, 2023
574444a
Merge branch 'master' of https://github.com/reachaadrika/website into…
reachaadrika Jun 30, 2023
94d1fd4
tests for tools component
reachaadrika Jul 2, 2023
d9811e2
Merge branch 'master' of https://github.com/reachaadrika/website into…
reachaadrika Jul 2, 2023
6cce2f5
additional fix
reachaadrika Jul 2, 2023
838ea37
Merge branch 'master' into tools_testcases
reachaadrika Jul 8, 2023
05c70d5
Merge branch 'master' into tools_testcases
reachaadrika Jul 10, 2023
de2918f
Merge branch 'master' of https://github.com/reachaadrika/website into…
reachaadrika Jul 10, 2023
8c463cd
Merge branch 'master' into tools_testcases
reachaadrika Jul 11, 2023
fc25e67
Merge branch 'master' into tools_testcases
reachaadrika Jul 11, 2023
e37ef56
Merge branch 'master' into tools_testcases
reachaadrika Jul 11, 2023
0d7e34d
Merge branch 'master' into tools_testcases
reachaadrika Jul 11, 2023
7af9240
Merge branch 'tools_testcases' of https://github.com/reachaadrika/web…
reachaadrika Jul 11, 2023
feaf533
fixed hover
reachaadrika Jul 11, 2023
e09c145
Merge branch 'master' into tools_testcases
reachaadrika Jul 13, 2023
61d5ede
Merge branch 'master' into tools_testcases
reachaadrika Jul 14, 2023
474d6eb
Update cypress/test/tools/FiltersDropdown.cy.js
reachaadrika Jul 14, 2023
486dcc9
Update cypress/test/tools/FiltersDisplay.cy.js
reachaadrika Jul 14, 2023
f68535d
inital changes
reachaadrika Jul 14, 2023
86035e1
fix Filters.cy.js
reachaadrika Jul 15, 2023
dac869c
Merge branch 'master' into tools_testcases
reachaadrika Jul 16, 2023
a3725be
Merge branch 'master' into tools_testcases
reachaadrika Jul 17, 2023
c55fd61
delete file
reachaadrika Jul 18, 2023
35033d1
Merge branch 'tools_testcases' of https://github.com/reachaadrika/web…
reachaadrika Jul 18, 2023
8c77ec0
changes in tools :
reachaadrika Jul 18, 2023
1bec193
Merge branch 'master' of https://github.com/reachaadrika/website into…
reachaadrika Jul 20, 2023
c8ee70d
fixes for tools
reachaadrika Jul 20, 2023
9590f05
Merge branch 'master' into tools_testcases
reachaadrika Jul 22, 2023
ede5811
Merge branch 'master' of https://github.com/reachaadrika/website into…
reachaadrika Jul 22, 2023
086da93
fix in toolsCards
reachaadrika Jul 22, 2023
e0b5358
Merge branch 'tools_testcases' of https://github.com/reachaadrika/web…
reachaadrika Jul 30, 2023
f64f788
Merge branch 'master' of https://github.com/reachaadrika/website into…
reachaadrika Jul 30, 2023
751fed8
fix tools.json
reachaadrika Jul 30, 2023
42ca5a3
change in ToolsList
reachaadrika Jul 30, 2023
767947d
added integration tests
reachaadrika Jul 30, 2023
2f8b8ce
minor fixes done
reachaadrika Jul 30, 2023
541d604
Merge branch 'master' into tools_testcases
reachaadrika Jul 31, 2023
299d4e0
Merge branch 'master' into tools_testcases
reachaadrika Aug 4, 2023
1d9a9c1
Merge branch 'master' into tools_testcases
reachaadrika Aug 7, 2023
aaf19a0
Merge branch 'master' into tools_testcases
reachaadrika Aug 9, 2023
1782d89
initial updates
reachaadrika Aug 9, 2023
c13ab04
Merge branch 'master' into tools_testcases
reachaadrika Aug 10, 2023
dafc607
Merge branch 'tools_testcases' of https://github.com/reachaadrika/web…
reachaadrika Aug 10, 2023
43006a1
move MockData to utils
reachaadrika Aug 10, 2023
3ee4282
delete mockData
reachaadrika Aug 10, 2023
4bed778
fix import for newsroom mockData
reachaadrika Aug 10, 2023
de75f2b
Merge branch 'master' into tools_testcases
reachaadrika Aug 14, 2023
3a641a7
Merge branch 'master' into tools_testcases
reachaadrika Aug 16, 2023
ef9591f
Merge branch 'master' into tools_testcases
reachaadrika Aug 18, 2023
4bfba6d
Merge branch 'master' into tools_testcases
reachaadrika Aug 21, 2023
65b2f38
Merge branch 'master' into tools_testcases
reachaadrika Aug 22, 2023
efba816
add checks using context variables
reachaadrika Aug 22, 2023
ef7b9c6
Merge branch 'tools_testcases' of https://github.com/reachaadrika/web…
reachaadrika Aug 22, 2023
577ff58
Merge branch 'master' into tools_testcases
reachaadrika Aug 23, 2023
5ac04e2
add context tools
reachaadrika Aug 23, 2023
6f484a0
Merge branch 'tools_testcases' of https://github.com/reachaadrika/web…
reachaadrika Aug 23, 2023
c7cc303
ToolsDashboard Integration changes
reachaadrika Aug 23, 2023
4664401
Merge branch 'master' into tools_testcases
reachaadrika Aug 24, 2023
f57221d
toolDashboard fixes
reachaadrika Aug 24, 2023
38ccbfd
Merge branch 'tools_testcases' of https://github.com/reachaadrika/web…
reachaadrika Aug 24, 2023
524f3ba
fix ToolsDashboard test case
reachaadrika Aug 24, 2023
19640f1
Merge branch 'master' into tools_testcases
reachaadrika Aug 25, 2023
2059014
Format Code changes
akshatnema Aug 25, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions components/tools/Carddata.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export const Carddata = (props) => {
<div className={className || "text-sm text-gray-500 text-left"}>
{heading}
<span className="group relative" >
{outsideClick && visible[type] && <span ref={domNode} className="w-48 text-xs border z-10 bg-white border-gray-200 shadow-md -left-2/3 absolute translate-x-1/3 -top-4 rounded px-2 py-1">
{outsideClick && visible[type] && <span ref={domNode} data-testid="Carddata-description" className="w-48 text-xs border z-10 bg-white border-gray-200 shadow-md -left-2/3 absolute translate-x-1/3 -top-4 rounded px-2 py-1">
{read ? data :<div >
<TextTruncate
element="span"
Expand All @@ -46,7 +46,7 @@ export const Carddata = (props) => {
/></div>}
{description && <button className='cursor-pointer text-cyan-600' onClick={() => {setOutsideClick(true);setRead(!read)}}>{read ? " Show Less" : " Show More"}</button>}
</span>}
<button onClick={() =>{setRead(false);setVisible({ ...initial, [type]: !visible[type] }) }} className="mx-1" >
<button onClick={() =>{setRead(false);setVisible({ ...initial, [type]: !visible[type] }) }} className="mx-1" data-testid="Carddata-button">
<InfoIcon />
</button>
</span>
Expand Down
22 changes: 12 additions & 10 deletions components/tools/CategoryDropdown.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
import ToolsData from '../../config/tools.json';

export default function CategoryDropdown({setopenCategory}) {
export default function CategoryDropdown({ setopenCategory }) {

return (
<div className="absolute z-10 w-52 lg:w-56 origin-top-right h-60 overflow-y-auto rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none" role="menu" aria-orientation="vertical" aria-labelledby="menu-button">
<div className="py-1" role="none">
{Object.keys(ToolsData).map((categoryName, index) => {
// displaying tools category having atleast one tool
if(ToolsData[categoryName].toolsList.length > 0) return (
<div onClick={() => setopenCategory(false)}>
<a href={`#${categoryName}`} key={index} className="block px-4 py-2 hover:bg-gray-100">{categoryName}</a>
</div> )})}
<div className="absolute z-10 w-52 lg:w-56 origin-top-right h-60 overflow-y-auto rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none" role="menu" aria-orientation="vertical" aria-labelledby="menu-button"
data-testid="CategoryDropdown-div">
<div className="py-1" role="none">
{ Object.keys(ToolsData).map((categoryName, index) => {
// displaying tools category having atleast one tool
if (ToolsData[categoryName].toolsList.length > 0) return (
<div onClick={ () => setopenCategory(false) }>
<a href={ `#${ categoryName }` } key={ index } className="block px-4 py-2 hover:bg-gray-100" data-testid="CategoryDropdown-link">{ categoryName }</a>
</div>)
}) }
</div>
</div>
</div>
)
}
196 changes: 100 additions & 96 deletions components/tools/Filters.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions components/tools/FiltersDisplay.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export default function FiltersDisplay({ checkedValues = [], setValues }) {
return (
<>
{checkedValues.length>0 &&
<div className="max-w-lg flex gap-2 flex-wrap p-2 duration-200 delay-150">
<div className="max-w-lg flex gap-2 flex-wrap p-2 duration-200 delay-150" data-testid="FiltersDisplay-main">
{checkedValues.map((items, index) => {
return (
<div
Expand All @@ -24,7 +24,7 @@ export default function FiltersDisplay({ checkedValues = [], setValues }) {
)}
>
<div className="text-xs m-auto h-fit">{items}</div>
<button className="hover:bg-gray-100 p-1 rounded-full -mt-[2px]" onClick={(e) => handleClickOption(e, items, checkedValues, setValues)}>
<button className="hover:bg-gray-100 p-1 rounded-full -mt-[2px]" onClick={(e) => handleClickOption(e, items, checkedValues, setValues)} data-testid="Filters-Display-Button">
<img src="/img/illustrations/icons/close-icon.svg" width="10" /></button>
</div>
);
Expand Down
37 changes: 21 additions & 16 deletions components/tools/FiltersDropdown.js
Original file line number Diff line number Diff line change
@@ -1,27 +1,32 @@
import { twMerge } from "tailwind-merge";

export default function FiltersDropdown({dataList=[], checkedOptions=[], setStateFunction, className=''}) {
export default function FiltersDropdown({ dataList = [], checkedOptions = [], setStateFunction, className = '' }) {

const handleClickOption = (e, option) => {
let tempValueArray = [...checkedOptions]
let index = checkedOptions.indexOf(option)
if(index>-1){
tempValueArray.splice(index, 1);
}else{
tempValueArray.push(option);
}
setStateFunction(tempValueArray)
}
const isChecked = checkedOptions.includes(option);
const updatedOptions = isChecked
? checkedOptions.filter(item => item !== option)
: [...checkedOptions, option];

setStateFunction(updatedOptions);
};

return (
<div className={twMerge(`max-w-lg flex gap-2 flex-wrap p-2 duration-200 delay-150 ${className}`)}>
<div className={twMerge(`max-w-lg flex gap-2 flex-wrap p-2 duration-200 delay-150 ${className}`)} data-testid="FiltersDropdown-div">
{dataList.map((data, index) => {
let checked = checkedOptions.indexOf(data.name)!=-1 ? true : false
const checked = checkedOptions.includes(data.name);
return (
<div key={index} className={twMerge(`border border-secondary-600 text-secondary-600 p-1 pb-0 rounded-2xl flex gap-1 cursor-pointer items-start ${checked ? 'bg-secondary-600 text-white' : ''}`)} onClick={(e) => handleClickOption(e, data.name)}>
<div
key={index}
className={twMerge(`border border-secondary-600 text-secondary-600 p-1 pb-0 rounded-2xl flex gap-1 cursor-pointer items-start ${checked ? 'bg-secondary-600 text-white' : ''}`)}
onClick={(e) => handleClickOption(e, data.name)}

>
{checked ? <img src='/img/illustrations/icons/CheckedIcon.svg' /> : <img src='/img/illustrations/icons/UncheckedIcon.svg' />}
<div className='text-xs -mt-[1px] mb-[1px]'>{data.name}</div>
</div>
)})}
</div>
);
})}
</div>
)
);
}
2 changes: 1 addition & 1 deletion components/tools/Tags.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export default function SelectTags({name='', bgColor, borderColor}) {
return (
<div className={`text-center text-sm py-1 px-2 rounded-lg ${bgColor} border ${borderColor}`}>
<div className={`text-center text-sm py-1 px-2 rounded-lg ${bgColor} border ${borderColor}`} data-testid='Tags-main'>
{name}
</div>
)
Expand Down
Loading
Loading