IRC log of #novawebdev for Sunday, 2025-12-07

anthony_p has quit (Remote host closed the connection)01:35
anthony_p has quit (Ping timeout: 480 seconds)07:24
gabriel_jetroGreetings everyone 11:59
zOnnyHello World!11:59
thomasboimahHello11:59
thomasboimahYesterday I worked with zOnny on the Secosol blog. Today I will continue working with zOnny. No blockers.12:00
thomasboimahACTION done12:00
zOnnyYesterday, Thomas and I had a productive time reviewing the blog app for Secosol. Today, we are excited to implement unit and functional tests to ensure that our changes are robust and reliable. No blockers12:00
zOnnyACTION done12:00
jelknerYesterday i talked with klarios after our meeting and learned that janet may have lots of decidim work sooner than i thought. Today i'll meet with Brandon from May First and talk about promoting the leave big tech campaign from May First in NOVASEN. No blockers.12:00
jelknerACTION done12:00
jelknerwow, zOnny, that's *GREAT* news!12:00
mulbahYesterday I was working on the reset password issue for the Todo app12:01
mulbahand I'm testing it now12:01
mulbahACTION done12:01
jelknerExcellent!12:01
jelknermulbah, we will need that12:01
zOnnyDecidim projects on our way?12:01
zOnnyLooking to hear more on that jelkner12:01
jelknerLet me think how to summarize it.12:02
jelknerhold on...12:02
gabriel_jetrojelkner: I've not been assigned yet but yesterday i tried pushing the hope bridge Liberia complete Html repo but I was getting access denied 12:02
jelknerthomasboimah, can you please call daniel and see if he can meet now instead of later?12:02
thomasboimahokay12:02
jelknerif he isn't available, i'll meet him when we saud12:02
jelknersaid12:02
jelknerbut brandon changed the location of our coffee this morning from upper marlboro md to arlington12:03
jelknerso it saves me an hour each way driving12:03
jelkneranyway, i could meet now if he is available12:03
jelknerzOnny, i'm not saying we have any Decidim jobs coming real soon12:03
jelknerwe don't actually want them yet, since we aren't ready12:04
zOnnyright12:04
jelknerwhat klarios told me is that janet has been doing a great job learning the system we have12:04
jelknernovasen.org12:04
zOnnyAh. the one that Octree has done12:04
jelknermy job is going to be to engage novasen members in using that12:05
jelknerand in using it myself12:05
jelkneri spoke with klarios yesterday about two ideas i have to use it:12:05
zOnnyYes, that is very important to understand how engaging the system is 12:05
jelkner1. to promote joining May First's "Cutting the Cord" campaign ( https://mayfirst.coop/en/audio/cutting-the-cord/ ) in our group.12:06
jelkner2. to see if i can interest the ACORE (Arlington Coalition of Rank and file Educators) caucus to use novasen.org decidim to help plan its work.12:07
jelkner1 will be easier, since have been meeting May First activists in our area (rachael and brandon) who are interested in helping klarios and jelkner in this effort12:08
jelknerand the rest of the NOVASEN group "gets it" in terms of the politics, but they need help "cutting the cord" ;-)12:09
jelkner2 would be huge12:09
jelknerbut i have to see how the rest of the group feels about that12:09
jelkneri have more work to do there12:10
jelknerwhen i talked with klarios yesterday about who could help teach me the system, she suggested janet12:10
jelknerwhich was *wonderful*!12:10
jelknerklarios reported very positively on the work janet has been doing12:10
jelknerso could be a huge help to our project to keep her working12:11
jelknerACTION done12:11
jelknerquestions?12:11
gabriel_jetro-112:11
thomasboimahACTION -112:11
jelknerzOnny, to be clear12:11
jelkneri don't think we want to even think about hacking on Decidim yet12:12
anthony_p has quit (Remote host closed the connection)12:12
jelknerthat means learning rails12:12
jelknerwhich will be not hard to do once we *really* understand django12:12
jelknerbut is would be *very* confusing to do at the same time!12:12
dcammue_Sorry for the late join, good day to all12:13
zOnnyYes, jelkner, I get it12:13
jelknerso, django first (for at least the full 6 months we talked about zOnny )12:13
jelknerand then we evaluate where we are and see if where to go from there12:13
jelknermake sense?12:13
gabriel_jetro+112:13
zOnny+112:14
thomasboimah+112:14
jelknerso that fact that you are working on unit and functional tests is music to my ears!!! ;-)12:14
jelknerthomasboimah, i'll be asking joshua, kara, and ben to learn about that this week12:15
thomasboimahOkay12:15
jelknerthey have class tues and thurs this week12:15
jelkneras soon as you all move into your office12:16
jelknerand we setup starlink12:16
jelknerwe should set up a jitsi meeting during their class so you can meet them12:16
jelknerok dcammue_ great to see you!12:16
jelknerdcammue_, if you have time to meet now, let's do that12:16
thomasboimahokay12:16
jelknerwe can jump over to #jetrowebdev to leave this channel for the django devs12:17
dcammue_OK 12:18
zOnnyalright thanks for the update everyone :)12:19
gabriel_jetrozOnny: and thomasboimah what Todo you guys have for me?12:19
gabriel_jetroI want to be involve12:20
zOnnyHi Gabriel12:20
zOnnyNice to e-meet you12:20
gabriel_jetroSame here, I've been following up, so I think I know a bit about you 12:20
zOnnyGabriel have you use Django before?12:21
gabriel_jetroYes I've on reservation from 12:22
gabriel_jetroForm*12:22
zOnnyCan you introduce yourself to me and what have you been working on12:23
gabriel_jetroOkay 12:24
zOnnyThomas are you here?12:25
zOnnyThomas are you familiar with Django Unit and Funct test?12:26
thomasboimahSorry i when to the bathroom. +112:26
zOnnyall good12:26
thomasboimahI have not write unit test before. I have watch video on how to do it12:27
thomasboimahBut I'm not sure watching video about it means i know how to do it12:28
thomasboimahWE will see about 12:28
thomasboimahit12:28
zOnnyWe will learn together on this thomas12:28
zOnnyI don't remember much neither12:28
zOnnyBut libre organize have implemented it a lot12:29
gabriel_jetroI'm Gabriel Washington from west Africa Liberia, member of the jetro Web Development, over the years I've been working on many things, I'm a python programmer, few months ago jelkner introduce us to cjones who tasks was to guide us with Django. At first we started a "cosmetology" and " culinary" Django app, my work was to do the reservation from. After a week or more jelkner came up with the idea of doing a Todo which I 12:29
gabriel_jetrostarted on the git lab, but due to my mother's I'll and other circumstances I was inactive recently.12:29
zOnnyAwesome gabriel12:30
zOnnyand Sorry for your mom12:30
zOnnyI hope she is doing well now12:30
zOnnyand I wish her a speedy recovery12:30
gabriel_jetroYes she's 12:31
gabriel_jetroThanks 12:31
zOnnygabriel not sure how aware you are with the work Thomas have done 12:31
gabriel_jetroI get familiar myself with it12:32
zOnnyBut if you want to be involve in, It would require to you get familiar with LibreOrganize project12:33
zOnnyhttps://gitlab.com/novawebdevelopment/libreorganize/libreorganize12:33
gabriel_jetroOkay 12:33
zOnnyI only work weekends here and try to work with thomas to deliver some coming clients requests12:34
zOnnyBUt if you have questions or feel stuck feel free to ask12:35
zOnnyI will be happy to help12:35
thomasboimahgabriel_jetro, I have a task for you12:36
gabriel_jetroOkay, here's my username 12:36
gabriel_jetro@gab-rinho112:36
thomasboimahWhen you done chatting with zOnny 12:36
gabriel_jetroOkay 12:37
gabriel_jetrozOnny: check I'm familiar with it and that's my username 12:37
gabriel_jetro@gab-rinho112:37
zOnnyYour username in gitlab?12:39
gabriel_jetroYes12:39
zOnnyThomas feel free to jump in, if you have plans for gabriel12:40
zOnnyThomas are you here?12:43
thomasboimahgabriel_jetro, I want you to write a unit test for the app(tasks) in the todo app project. And also investigate on how to migrate a postgres server to MayFirst and write the information you will find using makerdown for reference, then the two of us can start working on that. Is that okay with you?12:44
thomasboimah+1 zOnny I'm here12:45
zOnnyThomas have you tried to run the LO tests?12:46
gabriel_jetroSure no problem, when is it deadline?12:46
thomasboimahyes zOnny it python manage.py test right?12:46
thomasboimahbut it is loading like .................12:47
zOnnyyes thomas12:47
thomasboimahso I'm giving it some time12:47
zOnnywe are using the coverage to run our tests12:48
thomasboimahAnytime you think you can be able to get that done gabriel_jetro 12:48
zOnnyhttps://gitlab.com/novawebdevelopment/libreorganize/libreorganize/-/blob/master/requirements.txt?ref_type=heads#L1012:48
gabriel_jetroI've did unit test before on GitHub https://github.com/gab-rinho1 so I'll try to review from there and see how I'll approch it12:49
thomasboimahThe test is complete and i am getting this at the end zOnny : Ran 270 tests in 114.569s12:49
thomasboimahFAILED (failures=2, errors=4)12:49
thomasboimahDestroying test database for alias 'default'...12:49
gabriel_jetroIt means 270 tests ran in 114.569 seconds and had two failures with 4 errors 12:52
thomasboimahyes gabriel_jetro 12:52
gabriel_jetrothomasboimah: I'm in church right now can I go?12:55
thomasboimahsure bro12:55
gabriel_jetroOkay have a nice day, I'll give you updates tomorrow on the stand up meeting 12:55
zOnnyThomas run ./tests/automation/run_unit_tests.sh12:59
zOnnyThomas give a 2 min I'm finishing making my cofee13:04
thomasboimahzOnny, this is the 4 error i am observing:     test_box_form_uses_ckeditor5_for_english_content - KeyError: 'box'13:05
thomasboimah    test_box_form_uses_ckeditor5_for_spanish_content - KeyError: 'box'13:05
thomasboimah    test_news_announcement_form_uses_ckeditor5 - KeyError: 'box'13:05
thomasboimah    test_wiki_form_uses_ckeditor5 - KeyError: 'box'13:05
zOnnyI see13:07
zOnnyckeditor is messing around :)13:07
thomasboimahand these are the two failure:     test_incorrect_email - Missing error message in login form13:07
thomasboimah    test_calendar_create - Date format mismatch13:07
zOnnyLets focus one app at the time13:10
thomasboimahWe have the box in librorganize/app/13:11
anthony_p has quit (Ping timeout: 480 seconds)13:12
thomasboimah?13:12
zOnnyyes13:14
zOnnyDid you see that each app has tests dir13:17
thomasboimahyes13:17
zOnnyThe most important of these is the test_logic.py13:18
jelkner has quit (Quit: Leaving)13:19
zOnnySo let's focus on the blog app13:21
zOnnythe way you can run each app test is by python manage.py test apps.blog.tests13:24
zOnnyyou just change the name of the app13:24
thomasboimahyeah13:24
zOnnycan you create the tests directory13:25
thomasboimahokay13:25
zOnnythen add the three files13:27
zOnnytest_apps.py , test_logic.py, tests_urls.py13:28
zOnnyalsodon't forget the __init__.py to get it executed13:28
thomasboimahdone13:30
zOnnyLet's start with the test_apps.py13:31
thomasboimahWe should give it a class name BlogAppsTestCase?13:32
zOnnyYes13:32
zOnnytake an example from the other app13:32
thomasboimahsure13:32
thomasboimahmost of it will be the classes and import different13:33
zOnnyright but do you see what the function is doing13:35
thomasboimahyes I'm also looking at that13:35
thomasboimahWow! the test_logic.py i need to analyze it13:38
zOnnyTest logic is where all the logic goes13:39
thomasboimahyep13:39
thomasboimahthe name says it all13:39
thomasboimah*logic*13:39
zOnnyThis is where you have to Obey the testing GOAT13:40
zOnnyhttps://www.obeythetestinggoat.com/pages/book.html#toc13:40
zOnnyJeff did introduced me to this book13:40
thomasboimahyep ;-)13:40
zOnnySo once done the test_apps.py you can run the test and verify it13:42
zOnny../venv/bin/coverage run manage.py test apps.blog.tests.test_apps13:44
thomasboimahzOnny, can i take a min to log at this test_logic.py13:44
thomasboimah*look*13:44
zOnnyyes go ahead13:44
zOnnytake the example from the other apps13:44
zOnnyIf you look at them, most of the logic for the superuser are the same13:45
zOnnyThe rest is the logic of your views13:46
jelkner_ has quit (Remote host closed the connection)13:52
jelkner has quit (Quit: Leaving)13:52
jelkner has quit (Remote host closed the connection)13:53
thomasboimahACTION done observing the test_logic.py13:56
thomasboimahdone13:56
thomasboimahThe blog test_apps give OK13:58
zOnnyawesome13:58
zOnnylets start with the urls now before getting into the logic13:59
thomasboimahsure13:59
zOnnyHere from django what do you need is the TestCase14:00
thomasboimahrequest14:01
zOnnyhttps://gitlab.com/novawebdevelopment/libreorganize/libreorganize/-/blob/master/libreorganize/apps/news/tests/test_urls.py?ref_type=heads#L1-214:04
zOnnyyou need those imports from django 14:05
zOnnyThen you write your first method14:06
zOnnyYou ca do it as class BlogURLTests(TestCase):14:08
zOnnydef test_table_url(self):14:11
zOnnyurl = reverse("apps.blog:table")14:12
zOnnyself.assertEqual(resolve(url).func.view_class, views.TableView)14:13
thomasboimahI did that zOnny:  def test_list(self):14:13
thomasboimah        """Check list URL correct"""14:13
thomasboimah        self.assertEqual(resolve("/blog/list/").view_name, "blog:list")14:13
thomasboimah    def test_table(self):14:13
thomasboimah        """Check table URL correct"""14:13
thomasboimah        self.assertEqual(resolve("/blog/").view_name, "blog:table")14:13
thomasboimah    def test_edit(self):14:13
thomasboimah        """Check edit URL correct"""14:13
thomasboimah        self.assertEqual(resolve("/blog/posts/test-slug/edit/").view_name, "blog:edit")14:13
thomasboimah    def test_detail(self):14:13
thomasboimah        """Check detail URL correct"""14:13
thomasboimah        self.assertEqual(resolve("/blog/posts/test-slug/").view_name, "blog:detail")14:13
thomasboimah    def test_create(self):14:13
thomasboimah        """Check create URL correct"""14:14
thomasboimah        self.assertEqual(resolve("/blog/create/").view_name, "blog:create")14:14
thomasboimah    def test_delete(self):14:14
thomasboimah        """Check delete URL correct"""14:14
thomasboimah        self.assertEqual(resolve("/blog/posts/test-slug/delete/").view_name, "blog:delete")14:14
thomasboimah    def test_search(self):14:14
thomasboimah        """Check search URL correct"""14:14
thomasboimah        self.assertEqual(resolve("/blog/search/").view_name, "blog:search")14:14
zOnnyyou can use this https://paste.ofcode.org/14:17
zOnnyto make it easier your paste code14:17
zOnnycan you try it and sendme the link14:18
mulbah has quit (Ping timeout: 480 seconds)14:19
thomasboimahHow can i share it with you14:20
thomasboimahhttps://paste.ofcode.org/NsuGKXCMUNRiveXx645Lgk14:22
zOnnytry to run it14:22
zOnnysee if it fails14:23
thomasboimahokay14:23
thomasboimahit give OK14:23
thomasboimahThose are the various urls that is in the blog14:24
zOnnyright14:25
zOnnydelete the Bulletin14:25
zOnnyit is commented out 14:25
zOnnywe don't need that yes?14:25
thomasboimah+114:25
zOnnyin the urls.py14:25
thomasboimahThe testing is not looking that hard as i though14:27
zOnnycan you move the def test_table to the top?14:27
thomasboimahIs just looking like when i am write a python code14:28
zOnnyyes, it is similar14:28
zOnnythe TestCase interact with the DB14:29
zOnnyOne think you have to think with the tests is how your app works14:30
zOnnyOnce you click in the Blog url what is the first thing you see?14:30
zOnnyTable, yes?14:30
thomasboimah+114:31
zOnnyThat's how you need to write your test14:31
zOnnyyou can make more dynamic the urls test14:32
zOnnyit seems it is using the absolute path14:32
thomasboimahyep14:32
zOnny has quit (Quit: Page closed)14:33
zOnny has quit (None)14:34
zOnnysda14:34
zOnnyDo you see this https://paste.ofcode.org/3a3T3yx6JnZEE4hHfnxG9Yj14:36
zOnnyIt is another way to approach14:36
zOnnyhttps://paste.ofcode.org/HbLuPGtAi4E6ZMGDjA26Jz14:37
thomasboimahyes14:37
zOnnyHere you don't use the absolute path14:38
zOnnyIt isn't always recommended using the absolute path14:38
zOnnysince you are in the future change your url 14:38
thomasboimahokay14:39
zOnnyLet say you will rename it to blog/table14:39
zOnnyIn that situation you will also have to change your tests absolute path14:40
zOnnyLet's avoid that and make it dynamic14:40
thomasboimahYou're right14:41
thomasboimahjust a min so that i can change it14:43
zOnnyhttps://paste.ofcode.org/pBUFSmN54QZQmXyZ8drLyd14:46
gabriel_jetro has quit (Quit: Connection closed for inactivity)15:00
zOnnyDo you have any questions15:07
thomasboimah-1 I just analyzing how the test_logic is going to be for the blog15:08
zOnnyare you done with the urls?15:08
thomasboimahYeah15:09
zOnnygreat15:09
zOnnyLet's move to the logic now15:10
zOnnyFirst of15:14
zOnnyLet's create two different users15:14
zOnnyone superuser, and one user15:15
zOnnyYou can name your first class BlogTestBase(TestCase)15:16
zOnnywe are going to use this json15:19
zOnnyfor our user and superuser15:19
zOnnyhttps://gitlab.com/novawebdevelopment/libreorganize/libreorganize/-/blob/master/libreorganize/tests/test_data/accounts.json?ref_type=heads15:19
zOnnyIt will saves us lines 15:20
thomasboimahwe will put it in a variable fixtures right?15:27
thomasboimahThat is the variable name i give15:28
thomasboimahzOnny, What about this: core/fixtures/initial_data.json?15:32
zOnnyFixtures initial_data.json we don't need that15:37
zOnnyhttps://paste.ofcode.org/TPVzND7QmYrbFAGMXVajwp15:39
zOnnyAre you trying this way?15:40
thomasboimahyes15:40
thomasboimahlet me share what i have with you15:40
zOnnyDo you understand that code?15:40
zOnnysure15:41
thomasboimahyes, I'm doing it step by step15:41
thomasboimahhttps://paste.ofcode.org/?edit=pBUFSmN54QZQmXyZ8drLyd15:44
thomasboimahsorry wrong link15:45
thomasboimahhttps://paste.ofcode.org/3724bLvwBXy8KHvybUJmJcW15:45
zOnnyLooks good to me15:47
zOnnyIt is very explicit :)15:47
zOnnyAre you working with the BlogPostFormTests?15:52
thomasboimah+!15:56
thomasboimahwait15:56
dcammue_ has quit (Quit: Connection closed for inactivity)16:08
zOnnyHow is that going16:19
thomasboimahNow i am trying to write this: def test_public_list_shows_published_only(self):, def test_superuser_sees_all_posts(self):, def test_regular_user_sees_only_published(self):16:22
zOnnyNice16:27
zOnnySeems like you get it16:27
thomasboimahNow this is what i have https://paste.ofcode.org/F8tK4c3DYRdWkgW7drEzXF I will be moving to BlogTableView16:27
zOnnyDid you run it16:28
thomasboimahyes16:28
thomasboimahI need to go back to my Python book to refresh myself again on function16:29
thomasboimahafter today16:29
zOnnyme too16:29
zOnnyMy backend is really weak at this point16:30
thomasboimahI am taking too long to write function, I use to be fast before16:30
thomasboimahI am taking too long to write function, I use to be fast before16:30
zOnnynice16:30
zOnnyuse this command to find which lines you are missing16:30
zOnnycoverage report --include 'apps/blog/*'16:31
zOnnyonce you cover the all the logical tests16:31
zOnnycoverage will report 100%16:31
zOnnyalso, I notice that we won't use the Thumbnails 16:32
zOnnyI did a research about it yesterdayu16:33
zOnnyIt seems that is an image preview for the post16:34
zOnnyI don't think is is a necessity for now16:35
zOnnyWhat are you thoughts about it16:35
thomasboimahyeah, I'm fine skipping them for now. If they're just a nice-to-have preview, we can launch without them and maybe add later if users ask for it.16:38
thomasboimahI mean the thumbnails16:38
zOnnygood point16:38
zOnny+116:38
thomasboimahI done with the  BlogTableView16:50
zOnnyNice17:05
zOnnyhttps://paste.ofcode.org/KkrL7S7AAYrEKKGVrz9d7x17:05
zOnnythis is how far I got17:05
zOnnyLet's keep it thumbnail17:05
zOnnyI will fix it after you push the tests17:05
zOnnyI have the feeling that they would like to add an image to their post17:06
zOnnyotherwise we will have a default17:07
zOnnySorry I have indentation on the one above https://paste.ofcode.org/AbPuaMbL8egjuyz8pz4hv617:13
zOnny*error*17:13
zOnnyFeel free to use if if needed17:14
zOnnyDid the coverage report --include 'apps/blog/*' tells you how much have you covered?17:19
thomasboimahyes17:20
thomasboimahapps/blog/__init__.py       0      0   100%17:21
thomasboimahapps/blog/apps.py           3      0   100%17:21
thomasboimahapps/blog/forms.py         39     26    33%17:21
thomasboimahapps/blog/models.py       130     78    40%17:21
thomasboimahapps/blog/urls.py           4      0   100%17:21
thomasboimahapps/blog/views.py        116     59    49%17:21
thomasboimah-------------------------------------------17:21
thomasboimahTOTAL                     292    163    44%17:21
zOnnyCool do you want to finish it today?17:22
zOnnyWe can call a day if you are going for the 100%17:23
zOnnyI can pull it once you finish it 17:23
thomasboimahI can work on it during the week a push17:23
thomasboimah*and*17:23
thomasboimahthey you can review it17:23
zOnnysounds good to me17:24
zOnnyIt seems like you are almost 50%17:24
thomasboimahYeah, little by little17:24
zOnnySend me an email once it is done17:24
thomasboimahWhen i push it during the week i can send you email17:24
thomasboimahAlright them17:25
thomasboimahwe can call it a day17:25
zOnnyDo you like coverage library?17:25
thomasboimah+117:25
thomasboimahit motivate you17:25
zOnnyright17:25
zOnnyWell you can use it in your ToDo app as well17:26
thomasboimahdefinitely17:26
zOnnyYou are a quick learner Thomas17:27
thomasboimahThanks17:27
zOnnyAlright see you next weekend17:28
thomasboimahOkay thanks for today17:28
thomasboimahI'm learning alot from you17:28
zOnnyACTION sings off for the day17:28
zOnnyI'm also learning again17:29
zOnnyIts been awhile for me getting back to LO projects17:30
zOnnyAlso good luck with your UoPeople classes17:30
zOnnyor class17:30
thomasboimahOkay thanks17:31
zOnnyACTION signs off for real :)17:31
zOnny has quit (Quit: Page closed)17:31
thomasboimah has quit (Quit: Leaving)17:31

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!