require File.dirname(__FILE__) + '/../test_helper'
require 'movie'

class MovieTestCase < Test::Unit::TestCase
  
# Testowanie ogranicze modelu


  def test_no_name
    movie = Movie.new(:rating => 'PG', length_minutes => '10')
    assert movie.new_record?, "Nieskuteczno ogranicze modelu dla braku nazwy filmu"
  end

  def test_empty_name
    movie = Movie.new(:name => '', :rating => 'PG', length_minutes => '10')
    assert !movie.save, "Nieskuteczno ogranicze modelu dla pustej nazwy filmu" 
  end

  def test_same_movie
    movie = Movie.new(:name => 'Casablanca', :rating => 'PG', length_minutes => '10')
    movie_dup = movie.clone
    movie.save
    assert !movie_dup.save, 
                       "Nieskuteczno ogranicze modelu dla zdublowanej nazwy filmu"
  end

  def test_no_rating
    movie = Movie.new(:name => 'Casablanca', length_minutes => '10')
    assert !movie.save, "Nieskuteczno ogranicze modelu dla braku kryterium wieku" 
  end

  def test_invalid_rating
    movie = Movie.new(:name => 'Casablanca', :rating => 'Fred', length_minutes => '10')
    assert !movie.save, "Nieskuteczno ogranicze modelu dla niedopuszczalnego kryterium wieku"
  end
   
  def test_no_length
    movie = Movie.new(:name => 'Casablanca', :rating => 'PG')
    assert !movie.save, " Nieskuteczno ogranicze modelu dla braku dugoci filmu" 
  end

  def test_zero_length
    movie = Movie.new(:name => 'Casablanca', :rating => 'PG', :length_minutes => '0')
    assert !movie.save, "Nieskuteczno ogranicze modelu dla zerowej dugoci filmu" 
  end

  def test_negative_length
    movie = Movie.new(:name => 'Casablanca', :rating => 'PG', :length_minutes => '-10')
    assert !movie.save, "Nieskuteczno ogranicze modelu dla ujemnej dugoci filmu" 
  end
end


