// The Lucia project.
// Copyright 2026-2026 DSP, inc.  All rights reserved.
// Authors:
//   imacat.yang@dsp.im (imacat), 2026/03/05

import { describe, it, expect, beforeEach } from "vitest";
import { setActivePinia, createPinia } from "pinia";
import { useModalStore } from "@/stores/modal";
import { MODAL_ACCT_INFO, MODAL_DELETE } from "@/constants/constants.js";

describe("modalStore", () => {
  let store;

  beforeEach(() => {
    setActivePinia(createPinia());
    store = useModalStore();
  });

  it("has default state", () => {
    expect(store.isModalOpen).toBe(false);
    expect(store.whichModal).toBe(MODAL_ACCT_INFO);
  });

  it("openModal sets isModalOpen and whichModal", () => {
    store.openModal(MODAL_DELETE);
    expect(store.isModalOpen).toBe(true);
    expect(store.whichModal).toBe(MODAL_DELETE);
  });

  it("closeModal sets isModalOpen to false", async () => {
    store.openModal(MODAL_DELETE);
    await store.closeModal();
    expect(store.isModalOpen).toBe(false);
  });
});
