require "test_helper"

class Admin::NewslettersControllerTest < ActionDispatch::IntegrationTest
  setup do
    @newsletter = newsletters(:one)

    post login_path, params: {user: {
      email: users(:user_one).email,
      password: "12345678"
    }}
  end

  test "should get index" do
    get admin_newsletters_url
    assert_response :success
  end

  test "should get new" do
    get new_admin_newsletter_url
    assert_response :success
  end

  test "should create newsletter" do
    assert_difference("Newsletter.count") do
      post admin_newsletters_url, params: {newsletter: {context: @newsletter.context, title: @newsletter.title}}
    end

    assert_redirected_to admin_newsletter_url(Newsletter.last)
  end

  test "should show newsletter" do
    get admin_newsletter_url(@newsletter)
    assert_response :success
  end

  test "should get edit" do
    get edit_admin_newsletter_url(@newsletter)
    assert_response :success
  end

  test "should update newsletter" do
    patch admin_newsletter_url(@newsletter), params: {newsletter: {context: @newsletter.context, title: @newsletter.title}}
    assert_redirected_to admin_newsletter_url(@newsletter)
  end

  test "should destroy newsletter" do
    assert_difference("Newsletter.count", -1) do
      delete admin_newsletter_url(@newsletter)
    end

    assert_redirected_to admin_newsletters_url
  end
end
