Sha256: 47e7da26129ecf1d0764b5f3154a7db3c59b861fb98c4f757c508c7a543465a5

Contents?: true

Size: 1.14 KB

Versions: 1

Compression:

Stored size: 1.14 KB

Contents

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

class UserTest < Minitest::Test
  def setup
    @user = User.new(1, 'John', 'Doe', 'Smith')
  end

  def test_valid_user_creation
    assert_equal 1, @user.user_id
    assert_equal 'John', @user.first_name
    assert_equal 'Doe', @user.last_name
    assert_equal 'Smith', @user.father_name
  end

  def test_user_creation_without_father_name
    user = User.new(1, 'John', 'Doe')
    assert_nil user.father_name
  end

  def test_user_creation_with_invalid_user_id
    assert_raises(ArgumentError) { User.new(nil, 'John', 'Doe') }
  end

  def test_user_creation_with_invalid_first_name
    assert_raises(ArgumentError) { User.new(1, nil, 'Doe') }
  end

  def test_user_creation_with_invalid_last_name
    assert_raises(ArgumentError) { User.new(1, 'John', nil) }
  end

  def test_user_creation_with_long_name
    long_name = 'x' * 51
    assert_raises(ArgumentError) { User.new(1, long_name, 'Doe') }
    assert_raises(ArgumentError) { User.new(1, 'John', long_name) }
    assert_raises(ArgumentError) { User.new(1, long_name, 'Doe', 'Smith') }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
papaSquidLib-0.1.0 test/user_test.rb