- Prefix unused variables with underscore in subscriber_matching_test.exs - Fix unused integration_id parameters in gaiia_fixtures.ex - Remove duplicate site_fixture/1 from access_control_test.exs - Use public site_fixture/2 from OrganizationsFixtures instead - Remove unused Sites alias from access_control_test.exs All 19 subscriber matching tests passing with no warnings.
77 lines
2.3 KiB
Elixir
77 lines
2.3 KiB
Elixir
defmodule Towerops.GaiiaFixtures do
|
|
@moduledoc """
|
|
Test helpers for creating Gaiia entities (accounts, inventory items, network sites).
|
|
"""
|
|
|
|
alias Towerops.Gaiia
|
|
alias Towerops.Integrations
|
|
|
|
def gaiia_integration_fixture(organization_id, attrs \\ %{}) do
|
|
attrs =
|
|
Enum.into(attrs, %{
|
|
provider: "gaiia",
|
|
enabled: true,
|
|
credentials: %{
|
|
"api_key" => "test-gaiia-key-#{System.unique_integer()}",
|
|
"api_url" => "https://api.gaiia.net/v1"
|
|
}
|
|
})
|
|
|
|
{:ok, integration} = Integrations.create_integration(organization_id, attrs)
|
|
integration
|
|
end
|
|
|
|
def gaiia_account_fixture(organization_id, _integration_id, attrs \\ %{}) do
|
|
# Generate unique gaiia_id if not provided
|
|
gaiia_id = Map.get(attrs, :gaiia_id, "gaiia_account_#{System.unique_integer()}")
|
|
|
|
attrs =
|
|
Enum.into(attrs, %{
|
|
gaiia_id: gaiia_id,
|
|
readable_id: "ACC-#{:rand.uniform(9999)}",
|
|
name: "Test Account #{:rand.uniform(999)}",
|
|
status: "active",
|
|
account_type: "residential",
|
|
mrr: Decimal.new("99.99")
|
|
})
|
|
|
|
{:ok, account} = Gaiia.upsert_account(organization_id, attrs)
|
|
account
|
|
end
|
|
|
|
def gaiia_inventory_item_fixture(account_id, attrs \\ %{}) do
|
|
# Get the account to access organization_id
|
|
account = Towerops.Repo.get!(Towerops.Gaiia.Account, account_id)
|
|
|
|
# Generate unique gaiia_id if not provided
|
|
gaiia_id = Map.get(attrs, :gaiia_id, "gaiia_item_#{System.unique_integer()}")
|
|
|
|
attrs =
|
|
Enum.into(attrs, %{
|
|
gaiia_id: gaiia_id,
|
|
assigned_account_gaiia_id: account.gaiia_id,
|
|
name: "Test Item #{:rand.uniform(999)}",
|
|
status: "active",
|
|
category: "cpe"
|
|
})
|
|
|
|
{:ok, item} = Gaiia.upsert_inventory_item(account.organization_id, attrs)
|
|
item
|
|
end
|
|
|
|
def gaiia_network_site_fixture(organization_id, _integration_id, attrs \\ %{}) do
|
|
# Generate unique gaiia_id if not provided
|
|
gaiia_id = Map.get(attrs, :gaiia_id, "gaiia_site_#{System.unique_integer()}")
|
|
|
|
attrs =
|
|
Enum.into(attrs, %{
|
|
gaiia_id: gaiia_id,
|
|
name: "Test Tower #{:rand.uniform(999)}",
|
|
account_count: 0,
|
|
total_mrr: Decimal.new("0")
|
|
})
|
|
|
|
{:ok, network_site} = Gaiia.upsert_network_site(organization_id, attrs)
|
|
network_site
|
|
end
|
|
end
|