Using has_element?/3 for better LiveViewTest assertions
It’s tempting to write LiveViewTest
assertions that specify too much of our HTML. But that couples our tests to the implementation specifics. There’s a better way: the has_element?/3
helper can help us be specific without adding coupling.
https://www.germanvelasco.com/blog/using-has-element-for-better-liveviewtest-assertions
ThinkingElixir 027: Ash Framework with Zach Daniel
In episode 27 of Thinking Elixir, we talk with Zach Daniel, the creator of the Ash Framework, a declarative, resource-oriented application framework for Elixir that lets you build out JSON or GraphQL APIs in minutes. In this episode he explains the history, guiding doctrine of Declarative Design how it can give developers a huge boost without boxing them into a corner! Check it out!
Manage the Elixir application environment within a test context
https://github.com/fremantle-industries/with_env
defmodule HelloTest do
use ExUnit.Case
use WithEnv
test "can put values into the env" do
assert Application.get_env(:hello, :saying) == nil
with_env put: [hello: [saying: "galaxy"]] do
assert Application.get_env(:hello, :saying) == "galaxy"
end
assert Application.get_env(:hello, :saying) == nil
end
test "can delete values from the env" do
Application.put_env(:hello, :saying, "world")
with_env delete: [hello: [:saying]] do
assert Application.get_env(:hello, :saying) == nil
end
assert Application.get_env(:hello, :saying) == "world"
assert Application.delete_env(:hello, :saying) == :ok
end
end
Elixir’s Creator José Valim on the Development of a New Language
This post awaits moderation.
There is a growing number of posts plugging services not related to Elixir. To keep the quality of this community, some posts have to moderatored.
Sorry for this inconvenience!
🎧 Great interview with José Valim, the creator of the Elixir programming language.
Update to PredicateSigil
Light update to one of my favorites. Before, we could do this:
iex> import PredicateSigil
...> Enum.filter([1,2,3,4], ~p(3))
[3]
# ~p(3) === fn 3 -> true; _ -> false end
But sometimes the awesome Enum
and Stream
APIs don’t have the negated version of what you want - so now you can also:
iex> Enum.take_while([1,2,3,4], ~p(!3))
[1,2]
# ~p(!3) === fn 3 -> false; _ -> true end
How to unit test the content we're uploading
In my newest blog post I show how to leverage Elixir processes’ messaging system to test the content of the files we’re uploading.
Check it out here: https://www.elvismelkic.com/unit-test-upload-content/
hackney 1.17.0 has been released #erlang #elixirlang
Happy to announce the new stable release of hackney :) Enjoy!
Overview:
hackney is an HTTP client library for Erlang.
Changes:
- fix SSL compatibility with erlang OTP 23
- handle empty trailers
- fix race condition in connection pool
- fix memory leak in connection pool
- IDNA update to unicode 13.0.0
- fix build on macosx with OTP >= 20.1
- fix network Location on redirect
- produce uppercase hexadecimal in URLS
- pool queue count metric is now named queue_count
- miscellaneous fixes in documentation
Possible breaking changes:
- The pool queue count metric is now named queue_count. You should update your dashboard to reflect it.
- Possible breaking changes when producing uppercase hexadecimal in urls. This changes the behaviour of urlencode and pathencode to produce uppercase hexadecimal to comply with the RFC3986 which may affect systems using URL as signature or in an hash.
Source repository:
https://github.com/benoitc/hackney
Install from the hex.pm package repository:
Healthcare Application Development as a Growing Trend for the Future of Medicine
Today’s market offers an impressive variety of medical apps for both patients and medical personnel. Furthermore, healthcare is a quickly developing industry and requires constant improvements. Many software development companies regularly come up with new successful ideas.
Read the full article about Healthcare Application Development as a Growing Trend for the Future of Medicine and share your thoughts on it.
How we discovered a 7-year old performance issue in Elixir
In this post, we will explore how in our efforts to optimize an internal service, we stumbled upon a performance problem that has lived in the Elixir codebase for seven years.
https://code.tubitv.com/how-we-discovered-a-7-year-old-performance-issue-in-elixir-99080bdce9a1
ElixirTalk - Ep. 166 w/ Sean Stavropoulos, CTO at Boulevard
We’re back after a hiatus on our irregularly posted podcast! Chris and Desmond are back in the hot seat, this time joined by CTO and co-founder at Boulevard, Sean Stavropoulos where we hear all about the founding of Boulevard and their early adoption of Elixir and GraphQL.
https://soundcloud.com/elixirtalk/episode-166-feat-sean-stavropoulos
Elixir Wizards S5E3 Simon Glenn-Gregg on Building an Election Results Prototype in Elixir
Latest episode of Elixir Wizards is out today! Check it out here: https://smartlogic.io/podcast/elixir-wizards/s5e3-glenn-gregg/
Imageflow Elixir bindings, along with ergonomic Elixir-style API
I just released the first working version of imageflow_ex, a package that provides FFI bindings to imageflow, a Rust-based tool that offers extremely fast image processing (https://www.imageflow.io/benchmarks/)
I also include a higher-level API resembling Elixir Streams
Check it out on Github: https://github.com/naps62/imageflow_ex
ThinkingElixir 026: Elixir in Higher Ed with Jonathan Allen
In episode 26 of Thinking Elixir, we talk with Jonathan Allen, an instructor at a Utah college, who taught Elixir to his Distributed Computing students. He tells how he got Elixir into the classroom, how it went, and how we in the professional community can influence Elixir in education, and much more!
Using Event Sourcing and CQRS with Incident - Part 2
Event Sourcing and CQRS are great design patterns for some domains. The Incident library will help implement them without compromising other parts of your application.
This is the second post of a series of posts that I will present the usage of Incident.
Check it out: https://pedroassumpcao.ghost.io/using-event-sourcing-and-cqrs-with-incident-part-2/
Elixir Wizards S5E2 Randall Thomas on Learning Elixir and Why Community Matters
Latest episode of Elixir Wizards is out today! Check it out here: https://smartlogic.io/podcast/elixir-wizards/s5e2-thomas/
Flutter Vs. React Native – Who’s The Winner in 2021?
It is essential to choose the best frameworks for your project. If you’re building a cross-platform application, the main competitors are Flutter and React Native. We’ll compare them according to different criteria so that you can select the best option for you.
Read the full article about Flutter Vs. React Native – Who’s The Winner in 2021?
How to Hire a Flutter Developer – a Complete and Simple Guide
Want to hire a Flutter developer? But how do you find a good one?
Read the full article for useful tips on hiring Flutter developers, setting main requirements, finding the best developers’ locations, checking average rates, and most importantly how you can benefit from this cooperation.
Event Sourcing and CQRS library Incident version 0.6.0 released
The version 0.6.0 handles race condition scenarios and other improvements. Check it out: https://hex.pm/packages/incident
Wallaby v0.28.0 released!
https://github.com/elixir-wallaby/wallaby
v0.28.0 (2020-12-8)
Breaking
-
Browser.assert_text/2
andBrowser.assert_text/3
now return the parent instead oftrue
when the text was found.
Fixes
- File uploads when using local and remote selenium servers.
Improvements
-
Added support for touch events
-
Wallaby.Browser.touch_down/3
-
Wallaby.Browser.touch_down/4
-
Wallaby.Browser.touch_up/1
-
Wallaby.Browser.tap/2
-
Wallaby.Browser.touch_move/3
-
Wallaby.Browser.touch_scroll/4
-
Wallaby.Element.touch_down/3
-
Wallaby.Element.touch_scroll/3
-
-
Added support for getting Element size and location
-
Wallaby.Element.size/1
-
Wallaby.Element.location/1
-