defmodule Ash.Test.Domain.Info.LivebookTest do @moduledoc false use ExUnit.Case, async: true test "generate a livebook Domain section from a given Domain" do assert Ash.Domain.Info.Livebook.domain_section(Ash.Test.Flow.Domain) == """ ## Domain Ash.Test.Flow.Domain ### Class Diagram ```mermaid classDiagram class User { UUID id String first_name String last_name String email Org org destroy() read() for_org(UUID org) by_name(String name) create(UUID org, String first_name, String last_name, String email) update(String first_name, String last_name, String email) approve() unapprove() } class Org { UUID id String name User[] users update(String name) create(String name) destroy() read() by_name(String name) } Org -- User ``` ### ER Diagram ```mermaid erDiagram User { UUID id String first_name String last_name String email } Org { UUID id String name } Org ||--|| User : "" ``` ### Resources - [User](#user) - [Org](#org) ### User User model #### Attributes | Name | Type | Description | | ---- | ---- | ----------- | | **id** | UUID | PK | | **first_name** | String | User's first name | | **last_name** | String | User's last name | | **email** | String | User's email address | | **approved** | Boolean | Is the user approved? | | **org_id** | UUID | | #### Actions | Name | Type | Input | Description | | ---- | ---- | ----- | ----------- | | **destroy** | _destroy_ | | | | **read** | _read_ | | | | **for_org** | _read_ | | | | **by_name** | _read_ | | | | **create** | _create_ | | | | **update** | _update_ | | | | **approve** | _update_ | | | | **unapprove** | _update_ | | | ### Org Org model #### Attributes | Name | Type | Description | | ---- | ---- | ----------- | | **id** | UUID | | | **name** | String | | #### Actions | Name | Type | Input | Description | | ---- | ---- | ----- | ----------- | | **update** | _update_ | | | | **create** | _create_ | | | | **destroy** | _destroy_ | | | | **read** | _read_ | | | | **by_name** | _read_ | | | """ end end