user-event
django-unicorn
Our great sponsors
user-event | django-unicorn | |
---|---|---|
5 | 51 | |
2,121 | 2,182 | |
1.0% | - | |
5.3 | 9.0 | |
11 days ago | 14 days ago | |
TypeScript | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
user-event
-
How do I test a button that change a state with jest ?
You probably want to be using user-event instead of fireEvent.
-
Mocking setTimeout with Jest
With userEvent it is different. Since version 14.0.0 the APIs always return a Promise. Because of that we need to make the whole test async and await on clicking with userEvent.
-
BDD and TDD testing for React-Node App
I just learned to do TDD by react testing library + jest + user event https://github.com/testing-library/user-event
-
Django, HTMX and Alpine.js: Modern Websites, JavaScript Optional
I just tried running WinDirStat on the `node_modules` folder in a Create-React-App project I had lying around. Total size was 234 MB. Of that, 129MB was JS files. By far the biggest piece was TypeScript, which has 45MB of .js in 6 files making up its parsing and IDE language service implementation.
Beyond that, the breakdown is:
- .ts source files: 25MB
- Sourcemaps: 23MB
- Markdown: 15MB
- JSON: 10MB
It also looks like there's a 12MB Linux binary that was only in there as a publishing accident for the `user-event` library that has since been resolved ( https://github.com/testing-library/user-event/issues/266 ).
Or, take Redux Toolkit, which I maintain. If you look at https://unpkg.com/browse/@reduxjs/[email protected]/ , the published package for our current version, it adds up to about 10MB on disk. But, that's because we ship three separate entry points (RTK core, RTK Query UI-agnostic core, RTK Query with React-specific additions), and for each entry point we compile the code to multiple file formats (CommonJS, ESM legacy, ESM modern, ESM with "dev" and "prod" already built in, UMD dev, UMD production), and each of those has sourcemaps. The actual amount of code that ends up in your bundle is about 20KB min+gz.
So, it's a combination of many things: TS itself is big, libraries typically publish packages containing both the original source code plus multiple build artifacts to run in different environments, and packages also include various metadata and other files as well.
-
Comparing Enzyme with React Testing Library
To get away from testing our code implementation and get closer to testing how the application is actually used, we turn once again to React Testing Library. Instead of creating fake DOM event objects and simulating various change events, we have the ability to mimic how users would actually interact with the application using userEvent's, which are provided by the user-event library.
django-unicorn
- Use any web browser as GUI, with Zig in the back end and HTML5 in the front end
-
Coming to grips with JS: a Rubyist's deep dive
Then there are stack-specific libraries: StimulusReflex for Rails, Phoenix LiveView, Laravel Livewire, Unicorn and Tetra for Django, Blazor for .NET, β¦ and the list goes on.
- Unicorn β A full-stack web framework for Django
-
Reflex β Web apps in pure Python
- you get one of the best ORMs in existence with great relationship handling and generated admins
https://www.django-unicorn.com/
Not 1.0 yet but I'm using it in production and omgosh is it easy to crank out UIs.
-
Django 4.2 Released
There's a brilliant project called Django Unicorn that aims to be the equivalent of Laravel Livewire for Django. You should take a look.
https://www.django-unicorn.com/
That and HTMX + Alpine.js are a strong combination.
(I also had a bash at building a similar tool for Django called Tetra but unfortunately haven't had the time needed to commit to it: https://www.tetraframework.com)
-
Launch HN: Pynecone (YC W23) β Web Apps in Pure Python
I think all LiveView frameworks should be part of this.
Here are two Python ones I've tried:
https://www.django-unicorn.com/
-
Phoenix Liveview Implementations
I'm biased since I created https://www.django-unicorn.com/, but I have a few thoughts. :)
-
Frontend framework for django?
Have you looked into Django Unicorn?
-
Endless stack in Django
Check out https://www.django-unicorn.com/ it is like htmx but is closer to Django.
-
Rails has Hotwire (which as I understand is an SPA-like integrated frontend with much reduced complexity), is there something analogous in Django? Is this what HTMX is? I really don't want to learn React or Vue..
When I was exploring the space, django-unicorn looked interesting also. But HTMX got me so far, so easily, that I didn't give unicorn a fair shake.
What are some alternatives?
jest-dom - :owl: Custom jest matchers to test the state of the DOM
django-htmx - Extensions for using Django with htmx.
testing-with-enzyme
reflex - πΈοΈ Web apps in pure Python π
angular-testing-library - π Simple and complete Angular testing utilities that encourage good testing practices
htmx - </> htmx - high power tools for HTML
callbag-jsx - callbags + JSX: fast and tiny interactive web apps
PyWebIO - Write interactive web app in script way.
blog_mocking_settimeout_with_jest - Mocking setTimeout with Jest
flet - Flet enables developers to easily build realtime web, mobile and desktop apps in Python. No frontend experience required.
testing-with-react-testing-library
Flask - The Python micro framework for building web applications.