-
Notifications
You must be signed in to change notification settings - Fork 427
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Demo: Testing frameworks for JavaScript in frontend and backend #1594
Conversation
Readme is not correctly formatted Got: ['Demo Proposal', 'Title', 'Members', 'Deadline', 'Category', 'Proposal'] |
Hello @elibon99, thanks for the proposal. Could you list on the description which JS frontends and backends you will be focusing on? There has been some work done previously on this course about Express and React. It would be great to perform your demo on environments different than these. |
Hey @javierron, please refer to the email I just sent you with my phone number so that we can quickly discuss this issue. |
Hello @sigalor, thanks for your reply. If you prefer real-time interaction, we are happy to discuss during the breaks in the lectures, or during a lab session. In any case, the task you have described is very relevant to this course, but it is necessary that the description is updated to be clearer before the task is accepted. |
@javierron So the situation is that we agreed with the professors that we would do this demonstration during the next lecture slot, i.e. on March 29th. Until then, we don't have any other lab sessions, meaning that there is no way to discuss this in person, Let me outline the points I discussed with Elias here then instead. Firstly, as you already mentioned, NodeJS, React and Express are highly relevant frameworks in today's software development world, so we are convinced that our demonstration with these two frameworks specifically would be highly valuable to the other students. After all, even if students in past semesters did some assignments on these, that doesn't really matter for us now, because the students that take the DevOps course for the first time right now should also have the opportunity to learn this. Furthermore, the NodeJS ecosystem evolves very rapidly. For instance, Enzyme is a testing framework for React which hasn't been updated for two years by now, meaning that it is essentially deprecated by now. A year ago, this might not have been so relevant yet, but now the situation has changed. In our opinion, shortly discussing these "meta topics" like realizing how your software stack is constantly evolving and has to be updated dynamically is also an essential part of good, long-lasting software engineering. With these examples in very common environments like React, we could illustrate this very clearly. Regarding our own knowledge, Elias and I are already fairly familiar with React, Express and the foundation of NodeJS. We also see this demo of testing frameworks as an invitation for the audience (i.e. the other students) to ask us questions about these frameworks, which we will probably be able to answer quite confidently given our existing experience. On the other hand, if we would demonstrate testing libraries in some other framework (e.g. Vue or Angular for the frontend or something like Koa for the backend), we would mostly be learners ourselves, so that we would be much less able to help other students if they ask us about something specific and technical. Consequently, we think that staying with React and Express would be much more valuable for the audience for this reason as well. Apart from that, as I also mentioned in the lecture last Tuesday when I proposed this topic, Elias and I are still very interested in learning about testing frameworks for JS in the frontend and backend ourselves. As the professors emphasized, this course should be a combination of us learning new things when doing the assignments and sharing knowledge with the other students. The former would be especially fulfilled when focusing on React and Express in the demo, because Elias and I as well as Per and Philip (see next paragraph) are both personally and professionally interested in these frameworks specifically. During the lecture last Tuesday, the professors suggested that we should form a four-person group for the topic of JS testing frameworks, where two people do a presentation (Per and Philip, see #1593) and the other two a demo (Elias and I). Of course we are fully aware of the fact that regarding the grading, presentation and demo are two fully separate things and each one should be standalone. But we still think that from the audience's point of view, it would be a much more useful narrative when Per and Philip first present some "theory" for possible testing frameworks and compare several different ones and then Elias and I show two of them in a real-life scenario, for the frontend and backend respectively. Thus, if for this demo, we would have to pivot to other frameworks instead of React with React Testing Library and Express with Jest and Supertest, this narrative would be broken. This would of course not be terrible, because the demo is still standalone, but for the audience, some interesting and valuable context might be lost. Finally, from an organizational point of view, we of course have time pressure right now. As suggested by the professors, the presentation from #1593 and our demo will be held on Tuesday, March 29th. During the lab session yesterday, Deepika (@Deee92) verbally approved our proposal descriptions, so we already started working on the demo, thinking that having this pull request merged would only be a small formality. We'd be very grateful if either you, Martin (@monperrus) or Benoit (@bbaudry) could give us feedback on how to proceed with this. Right now, we see three options:
As this demo should take place next Tuesday morning, it isn't really feasible for us to wait until Monday to be sure that we can fully prepare the demo. As mentioned, it would thus be great if we could get your feedback as soon as possible. In case we don't get any feedback until tomorrow (Sunday) at noon, Elias and I will assume to go with option 1 and prepare the demo as planned in order to present it on Tuesday. |
Thanks for the detailed response, it's super clear now. I look forward to seeing your demo. |
The two repositorys showed in this demo today can be found here: |
@monperrus Of course, please find the respective PR at #1625! |
* Executable tutorial: How to automate E2E-testing in React & Jest, using Github actions. (KTH#1589) * Project proposal for Executable tutorial * fix: renamed itle * doc: Add readme for the task (KTH#1591) * Added README.md for Project Proposal (KTH#1588) * Added README.md for Project Proposal (KTH#1590) Co-authored-by: Johanna Loev <jolov@kth.se> * Presentation Proposal: Optimization Strategies for Test Suite Runtimes in Large Software Applications (KTH#1573) * Project proposal * Project proposal * Move readme to correct location * Rename proposal dir * Rename proposal dir * Rename proposal dir * Small format change * Small format change * Small format change * Small format change Co-authored-by: Luke LeVasseur <llevasseur@flexport.com> * Presentation Proposal: gatien-myechui (KTH#1597) * Executable Tutotial: Adding bugs to code to evaluate tests Using Stryker Mutator in JS (KTH#1575) * feat: test * feat: first proporsal * feat: first proporsal * demo proposal: Automated embedded testing of FreeRTOS using Jenkins and AWS (KTH#1578) * assignment proposal: demonstration for week1: testing & continuous integration * Rename markdown file * not ignoring cases anymore * fix titles * Delete Readme.md * put proposal inside week folder * fix schema * Update README.md * Update README.md * Open source proposal: enhancement of embedded Rust libraries (testing) (KTH#1587) * open source proposal: embedded rust libraries * changed email email * added missing assignment * Demo proposal - Real-Time testing of a video game (KTH#1581) * Add README for demo * moved the readme * fixed readme * Demo: Testing frameworks for JavaScript in frontend and backend (KTH#1594) * added our demo proposal * modified demo proposal * Weekly schedules We'll update the schedule for presentations and demos here * Update sessions on bots and dependencies * update the script based on the new folder structure * action: update the target branch name (KTH#1609) * added README describing our presentation proposal (KTH#1593) * added README describing our presentation proposal * updated readme to fit the expected format * Update week 2 agenda * Update demo + presentation weeks * First proposal for course automation (KTH#1579) * Add proposal for course automation task (KTH#1586) * Add proposal for course automation task * Rework proposal * Slight modification * Update README.md Co-authored-by: Khashayar Etemadi <khaes@kth.se> * Essay proposal: CI comparison (KTH#1598) * docs: add README for proposal (KTH#1603) * executable-tutorial: proposal GH Action optimization (KTH#1572) * executable-tutorial: proposal GH Action optimization * fix: formatting of README.md * Update readme.md * Update readme.md * Presentation proposal - Facebook blackout (KTH#1592) * added our presentation proposal * added presentation * Rename contributions/presentation/README.md to contributions/presentation/week2-testing-and-CI/svanhol-libl/README.md Co-authored-by: vladomitrovic <vlado.mitrovic@outlook.com> * Update readme.md * Presentation proposal - Code Coverage (KTH#1582) * Added a presentation proposal for code coverage. * Correct folder * Changed readme to comply with necessary formatting. * Reformulated our proposal to be more specific. Co-authored-by: vladomitrovic <vlado.mitrovic@outlook.com> * Update week 2 agenda * Update readme.md * Update README.md * Presentation : robot framework and end user test (KTH#1611) * Delete README.md * Update readme.md * Delete README.md * Added demo proposal (KTH#1614) Co-authored-by: Preston Chao <prestonchao@n183-p220.eduroam.kth.se> * Create README.md (KTH#1612) * Create Proposal for presentation: deployment of code with Buddy (KTH#1604) * Create Proposal for presentation: deployment of code with Buddy * Rename contributions/presentation/week3-CD-and-feature-flag/lhagm-shotaro/Proposal for presentation: deployment of code with Buddy to contributions/presentation/week3-CD-and-feature-flag/lhagm-shotaro: README.md * Update lhagm-shotaro: README.md * DEMO Proposal: Eiffel Protocol demonstration of usage (KTH#1610) * Update README.md * moved proposal to correct space * added slides used in the presentation and a link to them (if needed) in the README. (KTH#1621) * Presentation Proposal Update: Add link to slides (KTH#1613) * link to slides * format * ugh format Co-authored-by: Luke LeVasseur <llevasseur@flexport.com> * Final submission: Presentation (gatien-myechui) (KTH#1620) * unregistere user removed from foldername * unregistered user removed from the readme * Update and rename readme.md to README.md * Update README.md * Demo proposal : Continuous Delivery of a Tauri app (KTH#1628) * Added task 1 proposal * Fixed typo * Updated folder name * Added demo proposal * Fixed email address * Fixed typos * Course automation proposal - Automatic labeling of PRs (KTH#1608) * add proposal for course automation task * add new proposal * align demo length with presentation length (KTH#1618) * course-automation: Automatic verification for mandatory parts of course-automation final (KTH#1629) * docs: 📝 task: course-automation complete * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Adds proposal for course automation task. (KTH#1606) Adds proposal for a course automation task that would automatically fetch calendar events for the course to display in a file of choice. * Add slides week 1 presentation slides (KTH#1640) * Presentation proposal : Robot framework Assignment Proposal Robot framework and user test Names and KTH ID Pauline Vaillant (paulinev@kth.se) Asim Jarrar (asmin@kth.se) Deadline Task 1 Category Presentation Description Presentation of robot framework * Change readme place * Delete paulinev-asmi * Create readme * Correction file name * Delete typo directory * Correct typo 2 * Delete paulinev-asim * Create readme.md * Remove wrong typo directory * Update readme.md * Add presentation slide * Add presentation slides * Delete useless directory * Demo proposal: Demonstration of continuous deployment using Bitbucket Pipes (KTH#1641) * Create proposal template * Update readme.md * Added task proposal * Fixed kth name * fix readme * Finished Executable Tutorial - Build automation with Maven and Selenium to maintain test automation (KTH#1632) * Added README.md for Project Proposal * Added grading information for the executable tutorial * cleaning * executed tutorial: Github Action CI pipeline using CodeQL for static code scanning (DevSecOps Application) (KTH#1616) * Adding Assignment proposal * Update README.md Adding links to our GitHub handles * Update README.md Edit description * Update README.md Removing Github handles as it crashes the script * Updating folder name * Add repository links of "Testing frameworks for JavaScript in frontend and backend" demo to respective readme (KTH#1625) * ADD tutorial proposal for Randoop (KTH#1648) * added readme for demo proposal (KTH#1642) * Presentation Proposal: An overview of continuous deployment in the Microsoft Azure environment (KTH#1644) * Create README.md * Update README.md * Update README.md * Added readme for presentation proposal (KTH#1637) * presentation: Serverless in a hybrid architecture (KTH#1615) * Adding initial proposal * Fixing folder name * Added readme for tutorial (KTH#1627) * executable tutorial (KTH#1643) * demo proposal for argocd (KTH#1649) * Course Automation: Enforcing course submission rules (KTH#1650) * civjan-palagi course automation proposal * Update README.md Co-authored-by: Khashayar Etemadi <khaes@kth.se> * demo proposal: CD using React Native and Google Cloud (KTH#1635) Co-authored-by: Filip Bäck <filipback@n145-p222.eduroam.kth.se> * Course Automation Proposal: Make Pull Request shell script (KTH#1645) * add proposal for mpr shell script * update readme * update Co-authored-by: Luke LeVasseur <llevasseur@flexport.com> * Essay proposal - Continuous deployment - How does feature toggle fit in? (KTH#1630) * Demo proposal: CD of a Node.js web service on Heroku with a Github Actions pipeline (KTH#1636) * Create demo proposal readme * Update README.md * Update README.md * Update README.md Co-authored-by: Khashayar Etemadi <khaes@kth.se> * Presentation proposal: Canary Deployment - Why you and your friends might have different versions of the same app (KTH#1623) * Added README for presentation for week three * Blank line for PR update Now that the asim not registered problem is fixed * Added presentation in Category Co-authored-by: tobiasgg <tobiasgg@kth.se> * Add files via upload (KTH#1653) * Proposal Executable Tutorial: Test automation using Cucumber with Gradle (KTH#1658) * WIP: program of week 3 (KTH#1647) * Update readme.md * Update readme.md * Update week 4 presentation/demo schedule (KTH#1672) Co-authored-by: Khashayar Etemadi <khaes@kth.se> * Create README.md (KTH#1651) * Update readme.md (KTH#1676) * Update readme.md * Delete README.md * Update readme.md * Update required number of words for essays check * Essay: Gitlab CI vs Github Actions (KTH#1688) * Presentation Proposal: Handling multiple services in a monorepo using Docker (KTH#1677) Co-authored-by: Luciano <luciano.zapata@mentimeter.com> * Update readme.md * Course Automation: Implementation of MPR shell script (KTH#1654) * initial script * MPR functionality working * Clean up * Update alias in help * Clean Up * Small change for demo * Small change for demo * Auto-fill description body with readme contents * Update description logic * Update description logic * Tweaks * Only use GH Username if user not populated * Tweak * Add link to readme for submission * Remove script from submission Co-authored-by: Luke LeVasseur <llevasseur@flexport.com> * Proposal: Contribution to open-source (KTH#1721) * Add completed demo branch (KTH#1719) * Create demo proposal readme * Update README.md * Update README.md * Update README.md * Add demo repo link * Remove unnecessary section Co-authored-by: Khashayar Etemadi <khaes@kth.se> * Tutorial proposal: Massively cutting server costs for model training with spot instances on Azure (KTH#1718) * Add proposal for course automation task * Rework proposal * Slight modification * Update README.md * Add essay proposal * Add Khalid to proposal * Delete README.md Co-authored-by: Khashayar Etemadi <khaes@kth.se> Co-authored-by: César Soto Valero <cesarsotovalero@gmail.com> * Submission : Demonstration of Continuous Deployment of a Tauri app (KTH#1717) * Updated readme for submission * Fixed some typos * Fixed README * Final Submission for Task 1 (KTH#1715) * demo proposal for argocd * Submission for Task 1 * Update README.md * update submission git link * Update README.md * Update README.md * Final submission - Github Action CI pipeline using CodeQL for static code scanning (DevSecOps Application) (KTH#1714) * Adding Assignment proposal * Update README.md Adding links to our GitHub handles * Update README.md Edit description * Update README.md Removing Github handles as it crashes the script * Updating folder name * Adding assignment description * Final Submission: Docker swarm executable tutorial (KTH#1709) * docs: add README for proposal * Final submission: exec tutorial * Final Submission for Task 1 - CI/CD pipeline for K8s Cluster in Digital Ocean for Microservices application. (KTH#1701) * added readme for demo proposal * Submission for Task 1 Co-authored-by: César Soto Valero <cesarsotovalero@gmail.com> * Final Submission: Fuzzing Executable Tutorial (KTH#1705) * Proposal for OSS-Fuzz executable tutorial * final submission README * working on final submission * marked easter-egg Co-authored-by: Palagi, Brad <bpalagi2@illinois.edu> * Finished E2E testing with React executable tutorial (KTH#1699) * Final Submission: Deployment of Ccde Using Buddy (KTH#1697) * Adds Assignment Proposal (KTH#1689) Co-authored-by: Pontus Cowling Mantefors <pontuscm@kth.se> * Added demo repo & key takeaway (KTH#1702) * Create proposal template * Update readme.md * Added task proposal * Fixed kth name * fix readme * Add bitbucket repo link * Submission: Essay: DevOps and Security - How to fit them together? (KTH#1706) * Create README.md * Create DevSecOps.pdf * Updated to pass word count * Less word count * Update DevOps_and_Security - How_to_fit_them_together.pdf * Created final submission for civjan-palagi course automation (KTH#1704) * Mockito Presentation (KTH#1595) * Update README.md * Update README.md * Rename contributions/presentation/README.md to contributions/presentation/week2-testing-and-CI/ddnadjar/README.md * Update README.md Co-authored-by: Khashayar Etemadi <khaes@kth.se> Co-authored-by: vladomitrovic <vlado.mitrovic@outlook.com> * Final Submission: Executable Tutorial (KTH#1692) * executable-tutorial: proposal GH Action optimization * fix: formatting of README.md * [ Final Submission ] executable tutorial * fix: assignment and README seperation * fix: added links * fix: put links in proposal README * fix: removed header to pass action Co-authored-by: lucianozapata <60700288+lucianozapata@users.noreply.github.com> Co-authored-by: isabelredtzer <60987948+isabelredtzer@users.noreply.github.com> Co-authored-by: joloev <49996573+joloev@users.noreply.github.com> Co-authored-by: Johanna Loev <jolov@kth.se> Co-authored-by: Luke LeVasseur <lukelev@uw.edu> Co-authored-by: Luke LeVasseur <llevasseur@flexport.com> Co-authored-by: EDChui <edchuihk@gmail.com> Co-authored-by: Diego Chahuan <61998030+dchahuan@users.noreply.github.com> Co-authored-by: Fabian Segatz <53816763+fsegatz@users.noreply.github.com> Co-authored-by: vladomitrovic <vladom@kth.se> Co-authored-by: Aïssata Maiga <40670675+Dajamante@users.noreply.github.com> Co-authored-by: lnsandnkth <98472625+lnsandnkth@users.noreply.github.com> Co-authored-by: elibon99 <45691787+elibon99@users.noreply.github.com> Co-authored-by: Benoit Baudry <baudry@kth.se> Co-authored-by: gluckzhang <zhanglong3030@qq.com> Co-authored-by: Per Arn <pelle.arn@gmail.com> Co-authored-by: Deepika Tiwari <deepikatiwari92@gmail.com> Co-authored-by: Philip Hamelink <75215820+phamelink@users.noreply.github.com> Co-authored-by: Neproxx <marcel-ju@web.de> Co-authored-by: Khashayar Etemadi <khaes@kth.se> Co-authored-by: Niko <48829358+nikolim@users.noreply.github.com> Co-authored-by: Joakim Olsson <jooled13@outlook.com> Co-authored-by: Arvid Gotthard <66034456+mellonnen@users.noreply.github.com> Co-authored-by: Fredrik Svanholm <54528582+JustFredrik@users.noreply.github.com> Co-authored-by: vladomitrovic <vlado.mitrovic@outlook.com> Co-authored-by: Max Persson <40460583+PersonligaPersson@users.noreply.github.com> Co-authored-by: paulinev-kth <102533085+paulinev-kth@users.noreply.github.com> Co-authored-by: Martin Monperrus <martin.monperrus@gnieh.org> Co-authored-by: pdchao23 <61924616+pdchao23@users.noreply.github.com> Co-authored-by: Preston Chao <prestonchao@n183-p220.eduroam.kth.se> Co-authored-by: Zehao Jiang <zehao323@gmail.com> Co-authored-by: Linnea55 <63721996+Linnea55@users.noreply.github.com> Co-authored-by: LukasGutenberg <Luckeg@hotmail.com> Co-authored-by: corentinguilloteau <60315917+corentinguilloteau@users.noreply.github.com> Co-authored-by: Daniel Gustafsson <51636611+halvtomat@users.noreply.github.com> Co-authored-by: John Landeholt <46650602+landeholt@users.noreply.github.com> Co-authored-by: Johan Edman <22528843+EdmanJohan@users.noreply.github.com> Co-authored-by: Abyel Tesfay <43177672+AbyelT@users.noreply.github.com> Co-authored-by: Bassam Gamal <Bassam.gamal@gmail.com> Co-authored-by: nalenz <julian.nalenz@web.de> Co-authored-by: Mustafa Ali <62649206+mustafamusse@users.noreply.github.com> Co-authored-by: Abdullah <50807325+Abdullah1428@users.noreply.github.com> Co-authored-by: Noah Rahimzadagan <77496609+noahra@users.noreply.github.com> Co-authored-by: sandy-e <55145273+sandy-e@users.noreply.github.com> Co-authored-by: FilipSannervik <45691805+ZerooCoool@users.noreply.github.com> Co-authored-by: Ayushman Khazanchi <aykhazanchi@users.noreply.github.com> Co-authored-by: Ben Civjan <50936171+bencivjan@users.noreply.github.com> Co-authored-by: Filip Bäck <45845878+bckfilip@users.noreply.github.com> Co-authored-by: Filip Bäck <filipback@n145-p222.eduroam.kth.se> Co-authored-by: persman96 <64256070+persman96@users.noreply.github.com> Co-authored-by: Nick Smyrnioudis <32795986+NickSmyr@users.noreply.github.com> Co-authored-by: Samuel Söderberg <42773959+kaggenius@users.noreply.github.com> Co-authored-by: tobiasgg <tobiasgg@kth.se> Co-authored-by: gogo432754 <51891396+gogo432754@users.noreply.github.com> Co-authored-by: shotaroi <58347058+shotaroi@users.noreply.github.com> Co-authored-by: Javier Ron Arteaga <javierron90@gmail.com> Co-authored-by: simonebonato <63954877+simonebonato@users.noreply.github.com> Co-authored-by: Bror Sebastian Sjövald <49447840+BrorSebastianSjovald@users.noreply.github.com> Co-authored-by: Luciano <luciano.zapata@mentimeter.com> Co-authored-by: César Soto Valero <cesarsotovalero@gmail.com> Co-authored-by: Brad Palagi <61440600+bpalagi@users.noreply.github.com> Co-authored-by: Palagi, Brad <bpalagi2@illinois.edu> Co-authored-by: Pontus Mantefors <58608924+pontuscm@users.noreply.github.com> Co-authored-by: Pontus Cowling Mantefors <pontuscm@kth.se> Co-authored-by: mindany2 <robindesbois1000@hotmail.fr>
Assignment Proposal
Title
Testing frameworks for JavaScript in frontend and backend
Names and KTH ID
Deadline
Task 1
Category
Demo
Description
With the NodeJS ecosystem, JavaScript can be used in both frontend and backend. As with any software stack, unit and integration testing are an essential part, yet selecting the right tool for each individual use case can be a challenge, as NodeJS-based environments can be highly diverse.
In this demonstration, we show how JavaScript-/NodeJS-based frontends and backends can be tested in real life and how to set up and run such tests with the respective frameworks. Specifically, we will demonstrate the combined use of Jest and Supertest for the backend and its HTTP routes and React Testing Library for the frontend.