Skip to content

About

A set of modules to manage a parents association

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

afa_modules

Odoo 19 local test stack

The development-only stack in compose.test.yaml runs PostgreSQL 18 and Odoo 19 with afa_family, afa_membership, afa_member_pricing, afa_sepa, afa_apparel_shop, afa_service_subscription, afa_school_course, afa_extracurricular, afa_family_import, and afa_acollida mounted from this checkout. It does not change the separate Odoo 16 stack. Docker Engine and Compose are required.

For SEPA tests, fetch the pinned OCA 19.0 bank-payment revision first:

git clone --branch 19.0 https://github.com/OCA/bank-payment.git .oca-bank-payment
git -C .oca-bank-payment checkout fdd5d4040b235a4c688b2aec30611d57dd246b64

The checkout is ignored by Git; the CI workflow fetches the same revision.

docker compose -f compose.test.yaml up -d db
docker compose -f compose.test.yaml run --rm odoo -d afa_family_test -i afa_family --test-enable --test-tags /afa_family --stop-after-init --log-level=test --db_host=db --db_user=odoo --db_password=odoo
docker compose -f compose.test.yaml up -d odoo

Open http://127.0.0.1:8079 after Odoo starts. For subsequent test runs against the same database, replace -i afa_family with -u afa_family. Stop the stack with docker compose -f compose.test.yaml down (the test data volumes persist). This stack uses local development credentials; do not expose it to the network. Select database afa_family_test and sign in to Odoo with admin / admin. The odoo / odoo values in the Compose file authenticate Odoo to PostgreSQL; they are not an Odoo web account.

If you ran this stack on PostgreSQL 16 before the upgrade to 18, the old cluster stays at the volume root but PostgreSQL 18 looks in a versioned subdirectory, so those databases are no longer listed. Back them up, or reset the test volumes with docker compose -f compose.test.yaml down -v and reinstall.

Demo data and CI

afa_family defines fictitious families and contacts under its manifest demo key, not regular installation data. Use a new database name for an isolated install with demo records and the focused addon tests; do not reuse the live UI database:

docker compose -f compose.test.yaml run --rm -e AFA_EXPECT_DEMO=1 odoo -d afa_addons_fresh_example -i afa_family,afa_membership,afa_member_pricing,afa_apparel_shop,afa_sepa,afa_service_subscription,afa_school_course,afa_extracurricular,afa_family_import,afa_acollida --with-demo --test-enable --test-tags /afa_family,/afa_membership,/afa_member_pricing,/afa_apparel_shop,/afa_sepa,/afa_service_subscription,/afa_school_course,/afa_extracurricular,/afa_family_import,/afa_acollida --stop-after-init --log-level=test --db_host=db --db_user=odoo --db_password=odoo

Use another unused database name for each fresh local install. When demo data is absent, the demo-specific test skips unless AFA_EXPECT_DEMO=1 is set; CI sets it so a missing demo fixture fails instead of silently passing. The .github/workflows/odoo-tests.yml workflow runs the combined install and tests on PRs targeting main and pushes to main with read-only repository permission. It runs all ten AFA addons' tests, not the full upstream Odoo suite. CI also checks Odoo's result summary and confirms the family and pricing demo fixtures and all ten addons' test classes ran. Odoo can log test failures while returning a successful process exit status. Local tests do not constitute remote CI evidence; check the PR's Actions status. See AFA Membership for family membership intention, period, dues invoice, return, and access rules. afa_family can still be installed alone. See AFA Member Pricing for sales and web pricing setup. See AFA Apparel Shop for apparel variants, inventory, school pickup, bank transfers, and seven-day stock reservations. See AFA SEPA Collections for setup, bank validation, and returns. See Monthly Service Subscriptions for service windows, staff enrollment, monthly review, and family invoicing. See School Courses for the course ladder, the quick course setup assistant, and the once-per-year bulk promotion and graduation workflow. See Extracurriculars for activity groups, weekly schedules, staff student enrollment, and family scholarships billed to the Consell Comarcal. See Initial Family Load for the CSV/Excel load of families, guardians, students, IBANs and SEPA mandates. See Acollida Fixed Fees for importing monthly fixed-user fees and generating family invoices.

About

A set of modules to manage a parents association

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages