Files
gochat/frontend/app/javascript/shared/components/specs/DateSeparator.spec.js
T
rogee 321c61aaae Vendor Chatwoot Vue 3 frontend into frontend/
Copy the Chatwoot (v4.14.0) frontend runnable subset into frontend/ for
customization:
- app/javascript/ (Vue SPA: dashboard, widget, sdk, portal, superadmin)
- app/views/ (ERB templates for vite-plugin-ruby entrypoint resolution)
- app/helpers/, app/assets/ (Rails view helpers, static assets)
- enterprise/ (Enterprise edition frontend overlay)
- config/vite.json, vite.config.ts, bin/vite (Vite-Rails toolchain)
- package.json, pnpm-lock.yaml, tailwind/postcss/eslint configs
- Gemfile, Gemfile.lock (vite_rails gem for bin/vite binstub)

Excluded Rails backend: controllers, models, services, jobs, mailers,
policies, db, lib, spec, public, node_modules.

Update references to the new frontend location:
- .gitignore: exclude frontend build artifacts (node_modules, tmp, packs),
  keep frontend/bin/ and frontend/vendor/ via negation
- backend/scripts/parity_frontend_smoke.sh: CHATWOOT_DIR default
  reference/chatwoot -> ../frontend
- backend/scripts/parity_frontend_browser_smoke.mjs: same default update
- AGENTS.md: add frontend section with Rails/Vite coupling notes
- README: architecture tree includes frontend/
2026-07-07 14:56:01 +08:00

47 lines
928 B
JavaScript

import { shallowMount } from '@vue/test-utils';
import { createStore } from 'vuex';
import DateSeparator from '../DateSeparator.vue';
describe('DateSeparator', () => {
let store = null;
let actions = null;
let modules = null;
let dateSeparator = null;
beforeEach(() => {
actions = {};
modules = {
auth: {
namespaced: true,
getters: {
'appConfig/darkMode': () => 'light',
},
},
};
store = createStore({
modules,
actions,
});
dateSeparator = shallowMount(DateSeparator, {
global: {
plugins: [store],
mocks: {
$t: msg => msg, // Mocking $t function for translations
},
},
props: {
date: 'Nov 18, 2019',
},
});
});
it('date separator snapshot', () => {
expect(dateSeparator.vm).toBeTruthy();
expect(dateSeparator.element).toMatchSnapshot();
});
});