mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-05 22:26:07 +00:00
53 lines
1.3 KiB
Ruby
53 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require_relative "../spec_helper"
|
|
|
|
RSpec.describe EnterpriseBuilder do
|
|
subject(:builder) { described_class }
|
|
let(:enterprise) {
|
|
create(
|
|
:enterprise,
|
|
id: 10_000, name: "Fabi's Farm",
|
|
description: "The place where stuff grows", abn: "123 456 789 0",
|
|
address: build(:address, id: 40_000, city: "Melbourne"),
|
|
)
|
|
}
|
|
let(:variant) {
|
|
create(:product, supplier_id: enterprise.id, name: "Apple").variants.first
|
|
}
|
|
|
|
describe ".enterprise" do
|
|
let(:result) { builder.enterprise(enterprise) }
|
|
|
|
it "assigns a semantic id" do
|
|
expect(result.semanticId).to eq(
|
|
"http://test.host/api/dfc/enterprises/10000"
|
|
)
|
|
end
|
|
|
|
it "assigns a name" do
|
|
expect(result.name).to eq "Fabi's Farm"
|
|
end
|
|
|
|
it "assigns a description" do
|
|
expect(result.description).to eq "The place where stuff grows"
|
|
end
|
|
|
|
it "assigns a VAT Number (ABN in australia)" do
|
|
expect(result.vatNumber).to eq "123 456 789 0"
|
|
end
|
|
|
|
it "assigns products" do
|
|
expect(variant).to be_persisted
|
|
|
|
expect(result.suppliedProducts.count).to eq 1
|
|
expect(result.suppliedProducts[0].name).to eq "Apple - 1g"
|
|
end
|
|
|
|
it "assigns an address" do
|
|
expect(result.localizations.count).to eq 1
|
|
expect(result.localizations[0].city).to eq "Melbourne"
|
|
end
|
|
end
|
|
end
|