Commit Graph

  • 168c877970 refactored lists to have more descriptive urlpatterns; cascading changes across API, dashboard app & even FTs; restarted staging server db w. new migrations main Disco DeDisco 2026-02-22 23:56:29 -05:00
  • 94f3120add refactored to green: all references in urlpatterns thruout project to apps/ dir now skip it & point directly to the app contained w.in (i.e., not apps/lyric/ or apps/dashboard/, but lyric/ or dashboard/ now Disco DeDisco 2026-02-22 22:08:34 -05:00
  • a8c199b719 ensured in apps.dashboard.views, w. passing ITs in .tests.integrated.test_views & passing FT in functional_tests.test_sharing, passes only to recipients & owner Disco DeDisco 2026-02-22 21:50:25 -05:00
  • 17eb83c760 plugged share_list() FBV ability for user to share list w. self as recipient Disco DeDisco 2026-02-22 21:18:22 -05:00
  • 44c335b089 added superuser support in apps.lyric.admin & new manage.py cmd ensure_superuser; .tests.integrated.test_admin & .test_management_commands green Disco DeDisco 2026-02-22 20:42:33 -05:00
  • 87ef197823 enabled redis alongside celery, but waiting on true caching functionality—flash messages will behave better w. cache_page after they rely on htmx library, not current full-page reload Disco DeDisco 2026-02-21 23:13:23 -05:00
  • a9e635f40e fix for functional_tests.test_login, which still relied on old mock logic, no longer in apps.lyric.views, but handled by celery in apps.lyric.tasks Disco DeDisco 2026-02-21 22:03:03 -05:00
  • 04e28b96c8 offloaded some apps.lyric.views responsibilities to new Celery depend fn in .tasks; core.celery created for celery config; CELERY_BROKER_URL added to .settings & throughout project; some lyric view IT responsibility now accordingly covered by task UT domain Disco DeDisco 2026-02-21 21:35:15 -05:00
  • 880fcb5bcf more consistent DRF installation in pipeline Disco DeDisco 2026-02-20 16:58:55 -05:00
  • 9bdc358e59 commenced DRF efforts w. package installation, creation of apps.api, w. UTs & ITs to ensure core efficacy; core.settings & .urls changed to accomodate Disco DeDisco 2026-02-20 16:37:48 -05:00
  • ed21730a38 when clause fixes in .woodpecker.yaml Disco DeDisco 2026-02-20 15:16:19 -05:00
  • 4b558020af added staging & prod https support to core.settings pre-drf Disco DeDisco 2026-02-20 13:33:11 -05:00
  • 5106b04175 updated User creation method in functional_tests.management.commands.create_session Disco DeDisco 2026-02-19 20:50:31 -05:00
  • 025a59938b reenabled admin area; outfitted apps.lyric.models w. AbstractBaseUser instead of custom user class; many other fns & several models updated to accomodate, such as set_unusable_password() method to base user model; reset staging db to prepare for refreshed lyric migrations to accomodate for retrofitted pw field Disco DeDisco 2026-02-19 20:31:29 -05:00
  • d26196a7f1 added CSRF_TRUSTED_ORIGINS to core.settings, now that https added Disco DeDisco 2026-02-18 23:32:43 -05:00
  • 84fd0554bd moved adman magic link to howdy.earthmanrpg.com, in anticipation of having to mirror the prod server location; staging server preserved, along w. gitea & woodpecker, on earthmanrpg.me Disco DeDisco 2026-02-18 23:04:21 -05:00
  • 55f2a043c6 postgres integration complete thru woodpecker pipeline Disco DeDisco 2026-02-18 21:12:01 -05:00
  • a1e7ae8071 added coverage dependency; 99 percent test coverage (only lacking admin, currently by design); commenced postgresql db integration Disco DeDisco 2026-02-18 20:18:56 -05:00
  • a06fce26ef reorganized and reclassified old 'unit tests' for ea. app into dirs for UTs & ITs; abandoning effort to refactor any test_views into UTs; all tests passing Disco DeDisco 2026-02-18 19:07:02 -05:00
  • c41624152a added headless option to .test_sharing for woodpecker FT run Disco DeDisco 2026-02-18 15:24:55 -05:00
  • 64d4ba9542 added to apps.dashboard.views, share_list() FBV, a try/except catch that accounts for nonexistent users; .test.test_views ensures functionality Disco DeDisco 2026-02-18 15:14:35 -05:00
  • 0370f36e9e list sharing implemented w. passing UTs & FTs; changes to apps.dashboard.urls, .models, .views & .tests.test_views to accomodate; functional_tests.test_sharing also ensures sharing visible in UX; templates/apps/dashboard/list.html & /my_lists.html updated with django templating & for loops Disco DeDisco 2026-02-18 13:53:05 -05:00
  • a85e0597d7 created functional_tests.my_lists_page to contain helpers for viewing shared lists; refactored several other FTs to passing Disco DeDisco 2026-02-17 23:27:54 -05:00
  • e32c6bbfd6 created functional_tests.list_page to handle common FT helpers; almost every FT file affected & less reliant on .base, which no longer contains those helpers Disco DeDisco 2026-02-17 23:07:12 -05:00
  • e26ee5af1d new functional_tests.test_sharing FT for sharing lists; create_pre_authenticated_session() moved from .test_my_lists to .base Disco DeDisco 2026-02-17 21:19:24 -05:00
  • d74189f0b7 ensured my_list is viewable by auth user only Disco DeDisco 2026-02-17 20:26:42 -05:00
  • 877e3f35cf hoping to sidestep CD permissions issue w. python call in infra/deploy.sh.j2 Disco DeDisco 2026-02-17 18:21:50 -05:00
  • 9a1a79fb9a added .gitattributes for real this time Disco DeDisco 2026-02-17 17:57:20 -05:00
  • 2a9ac4c0f0 renormalized to LF end of line sequences for all files for CD compatibility; created .gitattributes @ project root to manage it; defined {{ ansible_user }} more explicitly in the ansible playbook Disco DeDisco 2026-02-17 17:48:09 -05:00
  • 510874b87c created CD pipeline to complement the existing gitea/woodpecker CI pipeline: build, push to registry, deploy to staging on main Disco DeDisco 2026-02-13 15:27:59 -05:00
  • e02385118f intentially broke functional_tests.test_login to ensure screendumps functionality works on test runner failure in pipeline Disco DeDisco 2026-02-11 15:29:02 -05:00
  • 71b35242eb intentially broke functional_tests.test_login to ensure screendumps functionality works on test runner failure in pipeline Disco DeDisco 2026-02-11 15:20:25 -05:00
  • bcadb28017 functional_tests.base updated w. many helper functions to save screendumps on server after test failures; woodpecker pipeline updated accordingly Disco DeDisco 2026-02-11 15:12:04 -05:00
  • 7f61dbd205 inadvertently committed Jasmine while most of Jasmine was ignored under .gitignore Disco DeDisco 2026-02-11 14:50:32 -05:00
  • 5d0a1401d8 created new dir for STATICFILES_DIRS in core.settings; all Jasmine test files transferred to new dir src/static_src/; new FT test_jasmine executes Jasmine test runner as part of CI pipeline & base FT has dobules MAX_WAIT to 10s; some cleanup of unused imports in text_simple_list_creation Disco DeDisco 2026-02-11 14:42:38 -05:00
  • a98a0fcd53 added Jasmine test suite from inside src/static dir to git repo Disco DeDisco 2026-02-11 13:43:59 -05:00
  • d1c715ab0c .woodpecker.yaml FT step now covers collectstatic Disco DeDisco 2026-02-11 13:26:55 -05:00
  • 0222aa9ea2 .woodpecker.yaml pipeline updated with first-push FT testing Disco DeDisco 2026-02-11 12:54:49 -05:00
  • 5ff0e4ec10 commented out second step of .woodpecker.yaml to confirm working test pipeline Disco DeDisco 2026-02-10 22:44:10 -05:00
  • b94f1f48aa Dockerfile.ci & debug-ci now build working container for CI test image Disco DeDisco 2026-02-10 22:42:45 -05:00
  • 9fa428c63a added cssselect to requirements.txt to accompany lxml library from previous commit Disco DeDisco 2026-02-10 21:45:49 -05:00
  • 5a633dccee apps.lyric.views and .tests.test_views updated for better Mailgun API post mocking; UTs passing locally Disco DeDisco 2026-02-10 21:42:15 -05:00
  • fec1cfcb30 Gitea repo init; Woodpecker pipeline init; much CI/CD structure outlined in ./infra, incl. docker-compose.yaml, cicd-playbook.yaml, new cicd vault, & config files for gitea, woodpecker & ansible Disco DeDisco 2026-02-10 21:16:00 -05:00
  • 4e1feddb45 new name @property in List model, replete w. proper testing in tests.test_models Disco DeDisco 2026-02-08 22:50:03 -05:00
  • 94a161fe09 List objects now container owner values, saved upon creation, linked to user fk; apps.dashboard.views updated accordingly; 36 UTs passing (2 new) Disco DeDisco 2026-02-08 22:33:15 -05:00
  • 6c0e9bb6ec new_list() FBV tries to assign List owner, but List() model has no such attr Disco DeDisco 2026-02-08 22:23:43 -05:00
  • c176fe6cb3 new UT ensures correct list ownership from apps.dashboard.views Disco DeDisco 2026-02-08 22:18:41 -05:00
  • fad8657c97 placeholder view & code for my_lists.html implemented Disco DeDisco 2026-02-08 21:52:04 -05:00
  • 306b4c8e5e new template _partials for apps.dashboard, incl. _form.html & _scripts.html; respective form, table & content code offloaded from base.html, home.html & list.html; functional_tests.test_my_list TODO resumed (only FT not currently passing, but this is as expected) Disco DeDisco 2026-02-08 21:43:58 -05:00
  • 8190317c21 nginx compatibility added to serve static files on server; whitenoise installed to catch static file serving in local docker container, also added to core.settings middleware; console logs & print statements removed from dashboard.js & functional_tests.container_commands; ansible playbook and nginx config file support nginx w.in deployment workflow Disco DeDisco 2026-02-08 17:55:09 -05:00
  • 07a76cb32d added new template apps/dashboard/my_lists.html; all FTs passing green locally, tho half og .test_my_lists TODO'd out; test_login uses mock-patch architecture to avoid Mailgun and DigitalOcean magic login link testing restraints Disco DeDisco 2026-02-07 22:47:04 -05:00
  • 0c413a9cc2 pre–db-reset commit; attempting to update User model w. uuid pk enumeration Disco DeDisco 2026-02-07 20:15:27 -05:00
  • 58b526f434 add_list_item() helper added to functional_tests.base; further propagated into .test_layout_and_styling, .test_list_item_validation, .test_my_lists & .test_simple_list_creation; all FTs passing locally (tho js-dependent FT still require nginx to serve scripts properly in docker or on server) Disco DeDisco 2026-02-07 19:44:47 -05:00
  • 10ba5b84e4 after many diversions and forlorn pivot from copilot to claude, new infra/ structure contains group_vars and ansible vaults; requests added to dev and prod dependencies; apps.lyric.views and core .settings both abandon django's send_mail(); instead incorporate requests to target Mailgun's HTTP API (DigitalOcean's SMTP blocker thwarted previous magic login link email attempts, but this issue has been resol ved with this commit) Disco DeDisco 2026-02-07 18:58:17 -05:00
  • 449b40e12e new functional_tests.container_commands file discerns local from server containers; .base calls now calls reset_database() therefrom; .test_my_lists also discerns test server location for different session keys; functional_tests restored as app in core.settings Disco DeDisco 2026-02-03 22:14:55 -05:00
  • 55bb589f61 added functional_tests to installed apps in core.settings (but only when debug is true); created management dir to contain new django cmds & listed in .dockerignore; created management.create_session cmd; recreated container.db.sqlite3; tweaked test_server setup in functional_tests.base; added test_server failsafe to magic link login testing in .test_login Disco DeDisco 2026-02-03 14:54:37 -05:00
  • 3fdd07e003 wrapped most helper functions in functional_tests.base in the new @wait decorator, including wait_for() itself; all UTs & FTs passing Disco DeDisco 2026-02-01 20:38:26 -05:00
  • 2db1c0e3fc temp. favicon 204 silencer added to core.urls; functional_tests.test_my_lists now tests authenticity of login compared to queried list Disco DeDisco 2026-02-01 20:18:42 -05:00
  • cf33f0ccd4 created new FT file at functional_tests.test_my_lists, where the first test model focuses on the integrity of cookie sessions; much of FT login/logout logic offloaded to helper functions in .base;logout django templating added to base.html Disco DeDisco 2026-02-01 20:06:01 -05:00
  • 36f4182a4f core/base.html & settings.py updated for email-based login & logout Disco DeDisco 2026-02-01 16:19:07 -05:00
  • d236ab9d69 apps.lyric.views updated with simpler FBV & test functionality for user login & authentication (some mocking employed); FT in test_simple_list_creation updated for new base.html content from several commits previous, now only FT not passing (to be expected) is under test_login Disco DeDisco 2026-01-31 15:16:34 -05:00
  • 9c102ac0f5 updated apps.lyric.views for simpler login authentication and error messaging; .tests.test_views have new test method to assert either authentication condition has properly occurred Disco DeDisco 2026-01-30 21:51:06 -05:00
  • ae63861adb migrations run for lyric models; authentication & views & their tests now account more fully for uuid over email as pk Disco DeDisco 2026-01-30 21:33:30 -05:00
  • f002cc5c84 auth backend defined in core.settings Disco DeDisco 2026-01-30 19:35:45 -05:00
  • b12f56c7ca functional auth backend; new get_user() method in authentication model & new accompanying test methods Disco DeDisco 2026-01-30 19:26:02 -05:00
  • 41f4ff1725 new apps.lyric.authenticate model PasswordlessAuthenticationBackend and authenticate() function help determine Token authenticity, login to existing accounts, or create new ones; associated .tests.test_authentication class asserts this functionality; apps.lyric.models & .tests.models now handles token uid instead of id, completing the transition away from email-as-pk Disco DeDisco 2026-01-30 19:10:17 -05:00
  • 2d61506a6d apps.lyric.views now generates a token associated w. the user-entered email & includes a link w. the token to login to the testserver; .tests.test_views asserts the association and the inclusion Disco DeDisco 2026-01-30 17:52:44 -05:00
  • bab0b045b0 new apps.lyric.views login FBV; new login path in .urls; new UT in .tests.test_views to assert the FBV's redirect to '/' Disco DeDisco 2026-01-30 17:36:48 -05:00
  • 93eb497dec mocking added thruout apps.lyric.tests.test_views, where UTs mock message sending; status message loop added to base.html below navbar; hardcoded assert and model/view values aligned across lyric app, UTs & FTs Disco DeDisco 2026-01-30 17:23:07 -05:00
  • 4b1906b1ee new apps.lyric.urls, .tests.test_views files to test & execute mock email sending; apps.lyric.models, .tests.test_models now test & execute unique token autogen to integrate w. magic link login using only email; core.settings updated w. new urlpatterns to accommodate Disco DeDisco 2026-01-30 16:21:32 -05:00
  • d724e03c3c custom user model that maintains id as pk Disco DeDisco 2026-01-30 15:04:47 -05:00
  • a734901b80 started lyric app (in earnest this time); added bootstrap-classed navbar w. login form to base.html; tweaked apps.dashboard.tests.test_views to accomodate multiple forms on same page Disco DeDisco 2026-01-29 15:21:54 -05:00
  • 3ebf4db974 removed spiked lyric app; pursuring spiked code via TDD, starting w. functional_tests.test_login Disco DeDisco 2026-01-29 14:28:19 -05:00
  • 512e5e6cd9 prod commit with small staticfile handling changes to container.db.sqlite3, the Dockerfile & requirements.dev.txt Disco DeDisco 2026-01-27 23:32:16 -05:00
  • adf0ca3d25 js complete to hide error msg on changed user input Disco DeDisco 2026-01-27 17:18:59 -05:00
  • e699c18321 applied initalize() to templates/core/base.html for DRYer script tags Disco DeDisco 2026-01-27 17:05:47 -05:00
  • 6546bbba84 refactored for DRY handling of inputSelector (#id_text) & errorSelector (.invalid-feedback) Disco DeDisco 2026-01-27 16:56:05 -05:00
  • 7f2267f5e3 initialize() restored to a const (was a function) Disco DeDisco 2026-01-27 16:39:48 -05:00
  • 93aa3534e5 initialize() functionality restored to dashboard.js, after a missing id-selector was found missing Disco DeDisco 2026-01-27 16:38:47 -05:00
  • 6178dccd3f bypassed app-specific script initialize() function to include directly in spec; Jasmine tests now also passing Disco DeDisco 2026-01-27 14:29:48 -05:00
  • fc05281351 restored templates/apps/dashboard/ & its contents; inadvertently deleted in previous update; all UTs & FTs once again passing Disco DeDisco 2026-01-27 13:48:59 -05:00
  • d8da9051ff defined static structure as src/apps/dashboard/static/apps/scripts/dashboard.js for Jasmine testing purposes; efforts to get past textInput=null have thus far been frustrated Disco DeDisco 2026-01-25 22:40:57 -05:00
  • eb237f95ec new FT method & error element helper in functional_tests.test_list_item_validation; not yet passing, awaiting JS implementation Disco DeDisco 2026-01-24 14:23:43 -05:00
  • 373b20d516 missed a crucial line in an apps.dashboard.tests.test_forms test method to ensure the form is_valid(); has now been rectified so that all UTs & FTs pass Disco DeDisco 2026-01-24 13:44:38 -05:00
  • 6627042b7a removed reliance on built-in django ModelForms from templates/core/base.html, apps.dashboard.forms, .tests.test_forms & .test_views Disco DeDisco 2026-01-24 13:36:31 -05:00
  • 0afc5ee8d7 defined Meta ordering of the Item() model in apps.dashboard.models; Item() also now returns a __str__ result; in .forms, defined a specific use-case of is_valid() method; a pair of new UTs in .tests.test_models help confirm str representation and list order of items; .test_forms now ensures the .is-invalid bootstrap class is tested as a css class attr; migrations run; full UT & FT suite back to passing state (tho a refactor of flimsy form customizations is desperately needed) Disco DeDisco 2026-01-24 13:00:12 -05:00
  • 49491e2497 new save FBVs, methods & test methods Disco DeDisco 2026-01-23 22:39:12 -05:00
  • f27b9ffb52 apps.dashboard.views & .tests.test_views now take advantage of DUPLICATE_ITEM_ERROR & ExistingListItemForm() from .forms Disco DeDisco 2026-01-23 22:30:42 -05:00
  • 004241d52d new form model in apps.dashboard.forms to handle existing item-lists; new test model in .tests.test_forms to accommodate; also new method in .test_views, but skipped for now Disco DeDisco 2026-01-23 22:23:40 -05:00
  • 6804d3aaae actually committed previously enumerated changes; the previous commit actually contained only the migrations reflecting these changes Disco DeDisco 2026-01-23 21:51:56 -05:00
  • 8a9f7c8af8 changed #id-list-table everywhere to #id_list_table; duplicate item validation in apps.dashboard.tests.test_models, where ListAndItemModelsTest has been broken out into two different test models Disco DeDisco 2026-01-23 21:50:49 -05:00
  • fa5700d9e8 added Meta class to Item() model to test for duplicate item/list entries Disco DeDisco 2026-01-21 15:29:47 -05:00
  • e01391446e new test method in ItemValidationTest(); does not currently pass Disco DeDisco 2026-01-21 15:12:13 -05:00
  • f841408488 custom save method implemented in ItemForm(); views & tests updated accordingly (all UTs & FTs passing) Disco DeDisco 2026-01-21 15:02:26 -05:00
  • 071a3d2532 apps.dashboard.forms now employed in all views; FT helpers in base.py updated to look for Django's default #id_text (instead of #id-text) Disco DeDisco 2026-01-21 14:41:25 -05:00
  • 1d96871d7b emancipated hardcoded form views & html from base.html, apps.dashboard.views, apps.dashboard.tests.test_views; added get_item_input_box() helper method to functional_tests.base & retrofitted the other FTs to utilize it Disco DeDisco 2026-01-20 15:14:05 -05:00
  • 93cc6632c4 found-n-replaced all instances of name='item_text' w. ='text' Disco DeDisco 2026-01-19 22:33:21 -05:00
  • 5b1f28db4b form code placeholders left commented-out in apps.dashboard.views; base.html somewhat retrofitted w. dynamic form views Disco DeDisco 2026-01-19 22:19:33 -05:00
  • 0014d9124a created apps.dashboard.forms & commensurate apps.dashboard.tests.test_forms; new ItemForm() ModelForm & EMPTY_ITEM_ERROR constant Disco DeDisco 2026-01-19 22:01:33 -05:00
  • 5af5ff55fa invoked get_absolute_url() on List model to achieve DRY urls in views Disco DeDisco 2026-01-19 19:25:04 -05:00