Sha256: 7f7d1629d2ee9e67f236a8baef22fb74956b9dab6a702c3b842ed4c20944a321

Contents?: true

Size: 1.43 KB

Versions: 1

Compression:

Stored size: 1.43 KB

Contents

require 'minitest/autorun'
require_relative '../lib/models/task'

class TaskTest < Minitest::Test
  def setup
    @task = Task.new(1, 2, 3)
  end

  def test_valid_task_creation
    assert_equal 1, @task.task_id
    assert_equal 2, @task.user_id
    assert_equal 3, @task.manager_id
    assert_equal Time.now.strftime("%Y-%m-%d"), @task.date
    assert_nil @task.description
    assert_equal 'Undone', @task.completed
  end

  def test_task_creation_with_custom_date
    custom_date = '2023-05-20'
    task = Task.new(1, 2, 3, custom_date)
    assert_equal custom_date, task.date
  end

  def test_task_creation_with_description
    description = 'Task description'
    task = Task.new(1, 2, 3, nil, description)
    assert_equal description, task.description
  end

  def test_task_creation_with_completed_status
    completed = 'Done'
    task = Task.new(1, 2, 3, nil, nil, completed)
    assert_equal completed, task.completed
  end

  def test_task_creation_with_invalid_task_id
    assert_raises(ArgumentError) { Task.new(nil, 2, 3) }
  end

  def test_task_creation_with_invalid_user_id
    assert_raises(ArgumentError) { Task.new(1, nil, 3) }
  end

  def test_task_creation_with_invalid_manager_id
    assert_raises(ArgumentError) { Task.new(1, 2, nil) }
  end

  def test_task_creation_with_invalid_completed_status
    assert_raises(ArgumentError) { Task.new(1, 2, 3, nil, nil, 'Invalid') }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
papaSquidLib-0.1.0 test/task_test.rb