towerops/test/support/fixtures/gaiia_fixtures.ex
Graham McIntire 4e6a038fb5
test: fix all compile warnings in subscriber matching tests
- 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.
2026-03-10 13:02:32 -05:00

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