Includes: - Odoo 19 framework (odoo/) - 27 custom EnCoach addons (new_project/custom_addons/) - encoach_core, encoach_api, encoach_lms_api, encoach_adaptive_api - encoach_exam, encoach_taxonomy, encoach_adaptive, encoach_assignment - encoach_ai, encoach_ai_grading, encoach_ai_generation, encoach_ai_media - encoach_courseware, encoach_communication, encoach_subscription - encoach_notification, encoach_approval, encoach_branding - encoach_classroom, encoach_registration, encoach_stats - encoach_faq, encoach_ticket, encoach_training, encoach_resources - encoach_adaptive_ai, encoach_sis - 21 OpenEduCat Enterprise modules (new_project/enterprise-19/) - 14 OpenEduCat Community modules (new_project/openeducat_erp-19.0/) - Configuration: odoo.conf, requirements.txt, scripts - 200+ REST API endpoints with JWT authentication - SRS and test documentation Made-with: Cursor
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
import { describe, expect, test } from "@odoo/hoot";
|
|
import { reactive, toRaw } from "@odoo/owl";
|
|
|
|
const {
|
|
DateTime,
|
|
Duration,
|
|
FixedOffsetZone,
|
|
IANAZone,
|
|
Info,
|
|
Interval,
|
|
InvalidZone,
|
|
Settings,
|
|
SystemZone,
|
|
Zone,
|
|
} = luxon;
|
|
|
|
describe.current.tags("headless");
|
|
|
|
test(`Luxon objects can't be made reactive`, async () => {
|
|
const obj = reactive({
|
|
DateTime: DateTime.now(),
|
|
Duration: Duration.fromObject({ seconds: 10 }),
|
|
FixedOffsetZone: FixedOffsetZone.instance(0),
|
|
IANAZone: IANAZone.create("CET"),
|
|
Info: Info,
|
|
Interval: Interval.before(DateTime.now(), { seconds: 10 }),
|
|
InvalidZone: new InvalidZone("invalid"),
|
|
Settings: new Settings(),
|
|
SystemZone: new SystemZone(),
|
|
Zone: new Zone(),
|
|
});
|
|
expect(obj.DateTime).toBe(toRaw(obj.DateTime));
|
|
expect(obj.Duration).toBe(toRaw(obj.Duration));
|
|
expect(obj.FixedOffsetZone).toBe(toRaw(obj.FixedOffsetZone));
|
|
expect(obj.IANAZone).toBe(toRaw(obj.IANAZone));
|
|
expect(obj.Info).toBe(toRaw(obj.Info));
|
|
expect(obj.Interval).toBe(toRaw(obj.Interval));
|
|
expect(obj.InvalidZone).toBe(toRaw(obj.InvalidZone));
|
|
expect(obj.Settings).toBe(toRaw(obj.Settings));
|
|
expect(obj.SystemZone).toBe(toRaw(obj.SystemZone));
|
|
expect(obj.Zone).toBe(toRaw(obj.Zone));
|
|
});
|