12
e2e-tests/delete_provider.spec.ts
Normal file
12
e2e-tests/delete_provider.spec.ts
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
import { test } from "./helpers/test_helper";
|
||||||
|
|
||||||
|
test("delete custom provider should not freeze", async ({ po }) => {
|
||||||
|
await po.setUp();
|
||||||
|
await po.goToSettingsTab();
|
||||||
|
await po.page.getByTestId("custom-provider-more-options").click();
|
||||||
|
await po.page.getByRole("button", { name: "Delete Provider" }).click();
|
||||||
|
await po.page.getByRole("button", { name: "Delete Provider" }).click();
|
||||||
|
|
||||||
|
// Make sure UI hasn't freezed
|
||||||
|
await po.goToAppsTab();
|
||||||
|
});
|
||||||
@@ -17,11 +17,11 @@ import { AlertTriangle } from "lucide-react";
|
|||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
DropdownMenu,
|
Popover,
|
||||||
DropdownMenuContent,
|
PopoverContent,
|
||||||
DropdownMenuItem,
|
PopoverTrigger,
|
||||||
DropdownMenuTrigger,
|
} from "@/components/ui/popover";
|
||||||
} from "@/components/ui/dropdown-menu";
|
import { Button } from "@/components/ui/button";
|
||||||
import {
|
import {
|
||||||
AlertDialog,
|
AlertDialog,
|
||||||
AlertDialogAction,
|
AlertDialogAction,
|
||||||
@@ -143,22 +143,29 @@ export function ProviderSettingsGrid() {
|
|||||||
className="absolute top-2 right-2"
|
className="absolute top-2 right-2"
|
||||||
onClick={(e) => e.stopPropagation()}
|
onClick={(e) => e.stopPropagation()}
|
||||||
>
|
>
|
||||||
<DropdownMenu>
|
<Popover>
|
||||||
<DropdownMenuTrigger className="focus:outline-none">
|
<PopoverTrigger asChild>
|
||||||
<div className="p-1 hover:bg-muted rounded-full">
|
<Button
|
||||||
|
variant="ghost"
|
||||||
|
size="sm"
|
||||||
|
className="p-1 hover:bg-muted rounded-full focus:outline-none"
|
||||||
|
data-testid="custom-provider-more-options"
|
||||||
|
>
|
||||||
<MoreVertical className="h-4 w-4 text-muted-foreground" />
|
<MoreVertical className="h-4 w-4 text-muted-foreground" />
|
||||||
</div>
|
</Button>
|
||||||
</DropdownMenuTrigger>
|
</PopoverTrigger>
|
||||||
<DropdownMenuContent align="end">
|
<PopoverContent align="end" className="w-48 p-2">
|
||||||
<DropdownMenuItem
|
<Button
|
||||||
className="text-destructive focus:text-destructive"
|
variant="ghost"
|
||||||
|
size="sm"
|
||||||
|
className="w-full justify-start text-destructive hover:text-destructive hover:bg-destructive/10"
|
||||||
onClick={() => setProviderToDelete(provider.id)}
|
onClick={() => setProviderToDelete(provider.id)}
|
||||||
>
|
>
|
||||||
<Trash2 className="h-4 w-4 mr-2" />
|
<Trash2 className="h-4 w-4 mr-2" />
|
||||||
Delete Provider
|
Delete Provider
|
||||||
</DropdownMenuItem>
|
</Button>
|
||||||
</DropdownMenuContent>
|
</PopoverContent>
|
||||||
</DropdownMenu>
|
</Popover>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</Card>
|
</Card>
|
||||||
|
|||||||
Reference in New Issue
Block a user