old_contents: # -*- encoding: utf-8 -*-
  
  from psycopg2 import IntegrityError
  from openerp.tests.common import TransactionCase
  from openerp.tools import mute_logger
  
  class GlobalTestOpenacademyCourse(TransactionCase):
      '''
      Global test to openacademy course model
      '''
      # Method seudo-constructor of test setUp
      def setUp(self): 
          #Define global variables to test methods
          super (GlobalTestOpenacademyCourse, self).setUp()
          self.course = self.env['openacademy.course']
          
      # Method of clas taht don't is test
      def create_course(self, course_name, course_description,
                        course_responsible_id):
          course_id = self.course.create({
              'name': course_name,
              'description': course_description,
              'responsible_id': course_responsible_id,
          })
          return course_id
  
      # Method of test startswith 'def test_*(self)'
  
      # Mute the error openerp.sql_db to avoid it in log
      @mute_logger('openerp.sql_db')
      def test_01_some_name_description(self):
          '''
          Test create a course with some name and description.
          To test constraint of name different to description.
          '''
          # Error raised expected with meddage expected
          with self.assertRaisesRegexp(
                  IntegrityError,
                  'new row for relation "openacademy_course" violates'
                  ' check constraint "openacademy_course_name_description_check"'
                  ):
              # Created a course with same name and description to raise error
              self.create_course('test', 'test', None)
  
new_contents: # -*- encoding: utf-8 -*-
  
  from psycopg2 import IntegrityError
  from openerp.tests.common import TransactionCase
  from openerp.tools import mute_logger
  
  class GlobalTestOpenacademyCourse(TransactionCase):
      '''
      Global test to openacademy course model
      '''
      # Method seudo-constructor of test setUp
      def setUp(self): 
          #Define global variables to test methods
          super (GlobalTestOpenacademyCourse, self).setUp()
          self.course = self.env['openacademy.course']
          
      # Method of clas taht don't is test
      def create_course(self, course_name, course_description,
                        course_responsible_id):
          course_id = self.course.create({
              'name': course_name,
              'description': course_description,
              'responsible_id': course_responsible_id,
          })
          return course_id
  
      # Method of test startswith 'def test_*(self)'
  
      # Mute the error openerp.sql_db to avoid it in log
      @mute_logger('openerp.sql_db')
      def test_01_same_name_description(self):
          '''
          Test create a course with some name and description.
          To test constraint of name different to description.
          '''
          # Error raised expected with meddage expected
          with self.assertRaisesRegexp(
                  IntegrityError,
                  'new row for relation "openacademy_course" violates'
                  ' check constraint "openacademy_course_name_description_check"'
                  ):
              # Created a course with same name and description to raise error
              self.create_course('test', 'test', None)
  
      @mute_logger('openerp.sql_db')
      def test_02_two_courses_same_name(self):
          '''
          Test to create two courses with same name.
          To raise constraint of unique name 
          '''
          new_id = self.create_course('test1', 'test_description', None)
          print 'new_id', new_id
          with self.assertRaisesRegexp(
                  IntegrityError,
                  'duplicate key value violates unique'
                  ' constraint "openacademy_course_name_unique"'
              ):
              new_id2 = self.create_course('test1', 'test_description', None)
              print 'new_id2', new_id2
  
  
  
  
  
  
  
subject: Add test constraint same course name