From c38c7c35bca7323200e2cc19702eea2583216e58 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Wed, 5 Feb 2020 12:35:27 +0000 Subject: [PATCH] Add spec for user default address setter --- .../user_default_address_setter_spec.rb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 spec/services/user_default_address_setter_spec.rb diff --git a/spec/services/user_default_address_setter_spec.rb b/spec/services/user_default_address_setter_spec.rb new file mode 100644 index 0000000000..4cc8ef2f92 --- /dev/null +++ b/spec/services/user_default_address_setter_spec.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe UserDefaultAddressSetter do + let(:customer_address) { create(:address, address1: "customer road") } + let(:order_address) { create(:address, address1: "order road") } + let(:customer) do + create(:customer, bill_address: customer_address, ship_address: customer_address) + end + let(:order) do + create(:order, customer: customer, bill_address: order_address, ship_address: order_address) + end + let(:user) { create(:user) } + + let(:setter) { UserDefaultAddressSetter.new(order, user) } + + describe '#set_default_bill_address' do + it "sets the user and customer bill address to the order bill address" do + setter.set_default_bill_address + + expect(user.bill_address).to eq order.bill_address + expect(order.customer.bill_address).to eq order.bill_address + end + end + + describe '#set_default_ship_address' do + it "sets the user and customer ship address to the order ship address" do + setter.set_default_ship_address + + expect(user.ship_address).to eq order.ship_address + expect(order.customer.ship_address).to eq order.ship_address + end + end +end