# frozen_string_literal: true
describe "ESMs_util_embed_create", :requires_connection, v2: true do
include_context "connection"
context "when the embed data is valid" do
it "returns the embed" do
response = execute_sqf!(
<<~SQF
[["title", "This is the title"], ["description", "This is a description"]] call ESMs_util_embed_create
SQF
)
expect(response).not_to be_nil
hash = ESM::Arma::HashMap.new(response)
expect(hash).not_to be_nil
expect(hash).to include(
"title" => "This is the title",
"description" => "This is a description"
)
end
end
context "when invalid keys are provided" do
it "skips them" do
response = execute_sqf!(
# TYPO ON PURPOSE
<<~SQF
[["title", "This is the title"], ["descrtion", "This is a description"]] call ESMs_util_embed_create
SQF
)
expect(response).to eq([["title", "This is the title"]])
end
end
context "when invalid values are provided to valid keys" do
it "skips them" do
response = execute_sqf!(
<<~SQF
[["title", nil], ["description", "This is a description"]] call ESMs_util_embed_create
SQF
)
expect(response).to eq([["description", "This is a description"]])
end
end
end