They’re all really good points!
The learning curve is definitely the biggest one, IMO. It’s a lot better than it was, and getting better every day, but we still have a long way to go. There’s one book out, another on the way, a series of blog posts and tutorials, and more are coming. I guess that’s more of a ‘watch this space’ (and we can’t clone Zach unfortunately, we’ve tried).
The testing one is interesting because I think people expect more from Ash than you really need. Ash provides some tools for things like data generation and property testing, but the rest is exactly the same as you would test in any other Elixir app (or Phoenix if you’re using Phoenix). Test inputs and outputs to functions, test side effects, test UIs. Nothing really Ash specific there at the moment, but the space is evolving (the generators in particular got a lot of polish when it came to writing the testing chapter in the Ash Framework book.)
To answer the specific questions:
The generated code is now your code, so you own it - you can test as much or as little as you want to be confident that it does what you expect. There is no right or wrong way to write tests. If you want to write a couple of LiveView tests that hit the sign-in page and ensure that a user can log in, and be done with it, that’s fine. If you want to test every single generated action, that’s fine too. If you heavily customize the generated actions, not just tweaking the config for the extension, that might be worth testing.
I mean I wouldn’t do it But then again, I wouldn’t go to the level of testing the actions in a User resource. I’ve written tests for the Tunez app (used in the Ash Framework book) that is probably as granular as I would go for basic authentication. I have apps in production that have more, I have apps in production that have less!
It is a really big mental shift to think about things in “the Ash way”. But honestly, I’ve been using it for long enough that I don’t think I would want to go back to building apps without it (despite all the pain it still sometimes causes). It’s a big investment, and if it’s not one you want to make, that’s okay! Keep it in mind and maybe revisit it and the story will be better in the future