defmodule MyFirstElixirVibeCode.ReviewsTest do use MyFirstElixirVibeCode.DataCase alias MyFirstElixirVibeCode.Reviews describe "reviews" do alias MyFirstElixirVibeCode.Reviews.Review import MyFirstElixirVibeCode.ReviewsFixtures @invalid_attrs %{title: nil, rating: nil, content: nil, project_type: nil} test "list_reviews/0 returns all reviews" do review = review_fixture() assert Reviews.list_reviews() == [review] end test "get_review!/1 returns the review with given id" do review = review_fixture() assert Reviews.get_review!(review.id) == review end test "create_review/1 with valid data creates a review" do valid_attrs = %{title: "some title", rating: 42, content: "some content", project_type: "some project_type"} assert {:ok, %Review{} = review} = Reviews.create_review(valid_attrs) assert review.title == "some title" assert review.rating == 42 assert review.content == "some content" assert review.project_type == "some project_type" end test "create_review/1 with invalid data returns error changeset" do assert {:error, %Ecto.Changeset{}} = Reviews.create_review(@invalid_attrs) end test "update_review/2 with valid data updates the review" do review = review_fixture() update_attrs = %{title: "some updated title", rating: 43, content: "some updated content", project_type: "some updated project_type"} assert {:ok, %Review{} = review} = Reviews.update_review(review, update_attrs) assert review.title == "some updated title" assert review.rating == 43 assert review.content == "some updated content" assert review.project_type == "some updated project_type" end test "update_review/2 with invalid data returns error changeset" do review = review_fixture() assert {:error, %Ecto.Changeset{}} = Reviews.update_review(review, @invalid_attrs) assert review == Reviews.get_review!(review.id) end test "delete_review/1 deletes the review" do review = review_fixture() assert {:ok, %Review{}} = Reviews.delete_review(review) assert_raise Ecto.NoResultsError, fn -> Reviews.get_review!(review.id) end end test "change_review/1 returns a review changeset" do review = review_fixture() assert %Ecto.Changeset{} = Reviews.change_review(review) end end end