summaryrefslogtreecommitdiffhomepage
path: root/gui/src
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2024-02-06 16:48:21 +0100
committerOskar Nyberg <oskar@mullvad.net>2024-02-13 11:19:50 +0100
commit41db8f1d197aaa6604ca2169a3f353717ed0af48 (patch)
treeff05ab0f29b83be401f84b3f0ed31be2857d483c /gui/src
parentb0e4315a003e08f2b11160418e1dccac6f462924 (diff)
downloadmullvadvpn-41db8f1d197aaa6604ca2169a3f353717ed0af48.tar.xz
mullvadvpn-41db8f1d197aaa6604ca2169a3f353717ed0af48.zip
Add GUI test for API access methods
Diffstat (limited to 'gui/src')
-rw-r--r--gui/src/renderer/components/ApiAccessMethods.tsx2
-rw-r--r--gui/src/renderer/components/ContextMenu.tsx10
-rw-r--r--gui/src/renderer/components/EditApiAccessMethod.tsx8
-rw-r--r--gui/src/renderer/components/cell/SettingsSelect.tsx4
4 files changed, 20 insertions, 4 deletions
diff --git a/gui/src/renderer/components/ApiAccessMethods.tsx b/gui/src/renderer/components/ApiAccessMethods.tsx
index 0774fcc320..b5cffddc94 100644
--- a/gui/src/renderer/components/ApiAccessMethods.tsx
+++ b/gui/src/renderer/components/ApiAccessMethods.tsx
@@ -231,7 +231,7 @@ function ApiAccessMethod(props: ApiAccessMethodProps) {
}, [props.method.id, props.inUse, setApiAccessMethod, testApiAccessMethod, history.push]);
return (
- <Cell.Row>
+ <Cell.Row data-testid="access-method">
<Cell.LabelContainer>
<StyledNameLabel>{props.method.name}</StyledNameLabel>
{testing && (
diff --git a/gui/src/renderer/components/ContextMenu.tsx b/gui/src/renderer/components/ContextMenu.tsx
index f80b456d46..165c284eca 100644
--- a/gui/src/renderer/components/ContextMenu.tsx
+++ b/gui/src/renderer/components/ContextMenu.tsx
@@ -84,10 +84,18 @@ export function ContextMenuContainer(props: React.PropsWithChildren) {
);
}
+const StyledTrigger = styled.button({
+ borderWidth: 0,
+ padding: 0,
+ margin: 0,
+ cursor: 'default',
+ backgroundColor: 'transparent',
+});
+
export function ContextMenuTrigger(props: React.PropsWithChildren) {
const { toggleVisibility } = useContext(menuContext);
- return <div onClick={toggleVisibility}>{props.children}</div>;
+ return <StyledTrigger onClick={toggleVisibility}>{props.children}</StyledTrigger>;
}
interface StyledMenuProps {
diff --git a/gui/src/renderer/components/EditApiAccessMethod.tsx b/gui/src/renderer/components/EditApiAccessMethod.tsx
index ecb633ae98..b5b3bd6d48 100644
--- a/gui/src/renderer/components/EditApiAccessMethod.tsx
+++ b/gui/src/renderer/components/EditApiAccessMethod.tsx
@@ -434,7 +434,13 @@ function EditShadowsocks(props: EditMethodProps<ShadowsocksAccessMethod>) {
</SettingsRow>
<SettingsRow label={messages.gettext('Cipher')}>
- <SettingsSelect direction="up" defaultValue={cipher} onUpdate={setCipher} items={ciphers} />
+ <SettingsSelect
+ data-testid="ciphers"
+ direction="up"
+ defaultValue={cipher}
+ onUpdate={setCipher}
+ items={ciphers}
+ />
</SettingsRow>
</SettingsGroup>
);
diff --git a/gui/src/renderer/components/cell/SettingsSelect.tsx b/gui/src/renderer/components/cell/SettingsSelect.tsx
index dd5f9b3b7e..4286cda1e2 100644
--- a/gui/src/renderer/components/cell/SettingsSelect.tsx
+++ b/gui/src/renderer/components/cell/SettingsSelect.tsx
@@ -87,6 +87,8 @@ interface SettingsSelectProps<T extends string> {
items: Array<SettingsSelectItem<T>>;
onUpdate: (value: T) => void;
direction?: 'down' | 'up';
+ // eslint-disable-next-line @typescript-eslint/naming-convention
+ 'data-testid'?: string;
}
export function SettingsSelect<T extends string>(props: SettingsSelectProps<T>) {
@@ -142,7 +144,7 @@ export function SettingsSelect<T extends string>(props: SettingsSelectProps<T>)
return (
<AriaInput>
<StyledSelect onBlur={closeDropdown} onKeyDown={onKeyDown} role="listbox">
- <StyledSelectedContainer onClick={toggleDropdown}>
+ <StyledSelectedContainer data-testid={props['data-testid']} onClick={toggleDropdown}>
<StyledSelectedContainerInner>
<StyledSelectedText>
{props.items.find((item) => item.value === value)?.label ?? ''}