From 9ffb3bb98eff645a54e845e228dddee422faecc6 Mon Sep 17 00:00:00 2001 From: Paulo Castellano Date: Sun, 18 Jan 2026 22:28:27 -0300 Subject: [PATCH] feat: adding tests --- maizzle/tailwind.config.js | 1 + resources/js/app.ts | 5 +- resources/js/components/AppHeader.vue | 4 +- .../js/components/ConfirmDeleteModal.vue | 5 +- resources/js/components/DatePicker.vue | 7 +- resources/js/components/LanguageCombobox.vue | 7 +- resources/js/components/PhotoUpload.vue | 9 +- .../js/components/SocialAccountsGrid.vue | 2 +- resources/js/components/TimezoneCombobox.vue | 7 +- resources/js/components/Toast.vue | 4 +- .../posts/previews/BlueskyPreview.vue | 2 +- .../posts/previews/FacebookPreview.vue | 3 +- .../posts/previews/InstagramPreview.vue | 4 +- .../posts/previews/LinkedInPreview.vue | 4 +- .../posts/previews/MastodonPreview.vue | 2 +- .../posts/previews/PinterestPreview.vue | 5 +- .../posts/previews/PlatformPreview.vue | 11 +- .../posts/previews/ThreadsPreview.vue | 3 +- .../posts/previews/TikTokPreview.vue | 2 +- .../js/components/posts/previews/XPreview.vue | 3 +- .../posts/previews/YouTubePreview.vue | 2 +- resources/js/date.ts | 2 +- resources/js/layouts/OnboardingLayout.vue | 1 + .../js/layouts/auth/AuthSimpleLayout.vue | 1 + .../js/pages/accounts/BlueskyConnect.vue | 8 +- .../js/pages/accounts/FacebookPageSelect.vue | 6 +- resources/js/pages/accounts/Index.vue | 4 +- .../js/pages/accounts/LinkedInPageSelect.vue | 6 +- .../js/pages/accounts/MastodonConnect.vue | 8 +- resources/js/pages/billing/Index.vue | 8 +- resources/js/pages/hashtags/Index.vue | 4 +- resources/js/pages/invites/Accept.vue | 2 +- resources/js/pages/labels/Index.vue | 4 +- resources/js/pages/onboarding/Step1.vue | 7 +- resources/js/pages/onboarding/Step2.vue | 4 +- resources/js/pages/posts/Calendar.vue | 6 +- resources/js/pages/posts/Edit.vue | 42 +-- resources/js/pages/posts/Index.vue | 274 ++++++++++++++++++ resources/js/pages/posts/Show.vue | 6 +- resources/js/pages/settings/Members.vue | 6 +- resources/js/pages/settings/Profile.vue | 2 +- resources/js/pages/workspaces/Create.vue | 2 +- resources/js/pages/workspaces/Index.vue | 2 +- resources/js/pages/workspaces/Show.vue | 6 +- tests/TestCase.php | 2 + 45 files changed, 385 insertions(+), 120 deletions(-) create mode 100644 resources/js/pages/posts/Index.vue diff --git a/maizzle/tailwind.config.js b/maizzle/tailwind.config.js index b7867c82..be42a5d5 100644 --- a/maizzle/tailwind.config.js +++ b/maizzle/tailwind.config.js @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-require-imports */ /** @type {import('tailwindcss').Config} */ module.exports = { presets: [ diff --git a/resources/js/app.ts b/resources/js/app.ts index b8e25684..3482055e 100644 --- a/resources/js/app.ts +++ b/resources/js/app.ts @@ -1,12 +1,13 @@ import '../css/app.css'; import { createInertiaApp } from '@inertiajs/vue3'; +import { configureEcho } from '@laravel/echo-vue'; import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers'; +import { i18nVue } from 'laravel-vue-i18n'; import type { DefineComponent } from 'vue'; import { createApp, h } from 'vue'; -import { i18nVue } from 'laravel-vue-i18n'; + import { initializeTheme } from './composables/useAppearance'; -import { configureEcho } from '@laravel/echo-vue'; configureEcho({ broadcaster: 'reverb', diff --git a/resources/js/components/AppHeader.vue b/resources/js/components/AppHeader.vue index b07e5535..e29e3aba 100644 --- a/resources/js/components/AppHeader.vue +++ b/resources/js/components/AppHeader.vue @@ -5,7 +5,6 @@ import { Calendar, Menu, Settings, Share2, Users } from 'lucide-vue-next'; import { computed } from 'vue'; import Breadcrumbs from '@/components/Breadcrumbs.vue'; -import WorkspaceSwitcher from '@/components/WorkspaceSwitcher.vue'; import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; import { Button } from '@/components/ui/button'; import { @@ -27,9 +26,10 @@ import { SheetTrigger, } from '@/components/ui/sheet'; import UserMenuContent from '@/components/UserMenuContent.vue'; +import WorkspaceSwitcher from '@/components/WorkspaceSwitcher.vue'; import { useActiveUrl } from '@/composables/useActiveUrl'; -import { calendar } from '@/routes'; import { getInitials } from '@/composables/useInitials'; +import { calendar } from '@/routes'; import type { BreadcrumbItem, NavItem } from '@/types'; interface Props { diff --git a/resources/js/components/ConfirmDeleteModal.vue b/resources/js/components/ConfirmDeleteModal.vue index dae61d0a..a2ecee5d 100644 --- a/resources/js/components/ConfirmDeleteModal.vue +++ b/resources/js/components/ConfirmDeleteModal.vue @@ -1,4 +1,7 @@ + + diff --git a/resources/js/pages/posts/Show.vue b/resources/js/pages/posts/Show.vue index 1b99386a..393ed6dc 100644 --- a/resources/js/pages/posts/Show.vue +++ b/resources/js/pages/posts/Show.vue @@ -3,12 +3,12 @@ import { Head, Link } from '@inertiajs/vue3'; import { useEcho } from '@laravel/echo-vue'; import { Clock, CheckCircle, AlertCircle, Loader2, FileText, ExternalLink, Pencil } from 'lucide-vue-next'; import { ref, computed } from 'vue'; -import dayjs from '@/dayjs'; -import AppLayout from '@/layouts/AppLayout.vue'; +import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; -import { Badge } from '@/components/ui/badge'; +import dayjs from '@/dayjs'; +import AppLayout from '@/layouts/AppLayout.vue'; import { calendar } from '@/routes'; import { edit as editPost } from '@/routes/posts'; import { type BreadcrumbItemType } from '@/types'; diff --git a/resources/js/pages/settings/Members.vue b/resources/js/pages/settings/Members.vue index 1d42cdfe..9167c6d8 100644 --- a/resources/js/pages/settings/Members.vue +++ b/resources/js/pages/settings/Members.vue @@ -11,7 +11,7 @@ import { Label } from '@/components/ui/label'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import AppLayout from '@/layouts/AppLayout.vue'; import SettingsLayout from '@/layouts/settings/Layout.vue'; -import { members } from '@/routes'; +import { members as membersRoute } from '@/routes'; import { destroy as destroyInvite, store as storeInvite } from '@/routes/invites'; import { remove as removeMember } from '@/routes/members'; import { type BreadcrumbItem } from '@/types'; @@ -49,10 +49,10 @@ interface Props { roles: Role[]; } -const props = defineProps(); +defineProps(); const breadcrumbItems: BreadcrumbItem[] = [ - { title: 'Members', href: members.url() }, + { title: 'Members', href: membersRoute.url() }, ]; const form = useForm({ diff --git a/resources/js/pages/settings/Profile.vue b/resources/js/pages/settings/Profile.vue index b5fe31dd..854bf45c 100644 --- a/resources/js/pages/settings/Profile.vue +++ b/resources/js/pages/settings/Profile.vue @@ -1,5 +1,6 @@