Skip to content

Instantly share code, notes, and snippets.

@shankardevy

shankardevy/sales_test.exs Secret

Created Jul 8, 2017
Embed
What would you like to do?
defmodule Mango.SalesTest do
use Mango.DataCase
alias Mango.Sales
alias Mango.Sales.Order
alias Mango.Catalog.Product
test "create_cart" do
assert %Order{status: "In Cart"} = Sales.create_cart
end
test "get_cart/1" do
cart1 = Sales.create_cart
cart2 = Sales.get_cart(cart1.id)
assert cart1.id == cart2.id
end
test "add_to_cart/2" do
product = %Product{
name: "Tomato",
pack_size: "1 kg",
price: 55,
sku: "A123",
is_seasonal: false, category: "vegetables" } |> Repo.insert!
cart = Sales.create_cart
{:ok, cart} = Sales.add_to_cart(cart, %{"product_id" => product.id, "quantity" => "2"})
assert [line_item] = cart.line_items
assert line_item.product_id == product.id
assert line_item.product_name == "Tomato"
assert line_item.pack_size == "1 kg"
assert line_item.quantity == 2
assert line_item.unit_price == Decimal.new(product.price)
assert line_item.total == Decimal.mult(Decimal.new(product.price), Decimal.new(2))
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment