| defmodule PlausibleWeb.Components.FlowProgressTest do |
| use Plausible.DataCase |
|
|
| import Phoenix.LiveViewTest, only: [render_component: 2] |
|
|
| alias PlausibleWeb.Components.FlowProgress |
|
|
| test "no flow or unknown flow renders nothing" do |
| rendered = |
| render_component(&FlowProgress.render/1, |
| flow: nil, |
| current_step: "unhandled" |
| ) |
|
|
| assert rendered == "" |
|
|
| rendered = |
| render_component(&FlowProgress.render/1, |
| flow: "unhandled", |
| current_step: "unhandled" |
| ) |
|
|
| assert rendered == "" |
| end |
|
|
| test "register" do |
| rendered = |
| render_component(&FlowProgress.render/1, |
| flow: PlausibleWeb.Flows.register(), |
| current_step: "Add site info" |
| ) |
|
|
| assert text_of_element(rendered, "#flow-progress") == |
| "1 Add site info 2 Install Plausible 3 Verify installation" |
| end |
|
|
| test "invitation" do |
| rendered = |
| render_component(&FlowProgress.render/1, |
| flow: PlausibleWeb.Flows.invitation(), |
| current_step: "Register" |
| ) |
|
|
| assert text_of_element(rendered, "#flow-progress") == |
| "1 Register 2 Activate account" |
| end |
|
|
| test "provisioning" do |
| rendered = |
| render_component(&FlowProgress.render/1, |
| flow: PlausibleWeb.Flows.provisioning(), |
| current_step: "Add site info" |
| ) |
|
|
| assert text_of_element(rendered, "#flow-progress") == |
| "1 Add site info 2 Install Plausible 3 Verify installation" |
| end |
|
|
| test "review" do |
| rendered = |
| render_component(&FlowProgress.render/1, |
| flow: PlausibleWeb.Flows.review(), |
| current_step: "Install Plausible" |
| ) |
|
|
| assert text_of_element(rendered, "#flow-progress") == |
| "1 Install Plausible 2 Verify installation" |
| end |
|
|
| test "domain_change" do |
| rendered = |
| render_component(&FlowProgress.render/1, |
| flow: PlausibleWeb.Flows.domain_change(), |
| current_step: "Set up new domain" |
| ) |
|
|
| assert text_of_element(rendered, "#flow-progress") == |
| "1 Set up new domain 2 Install Plausible 3 Verify installation" |
| end |
| end |
|
|