title: Unit test grails with domain objects using GORM functions
body: <p>I have the following piece of code inside a service class named OrderService in Groovy on Grails. I want to make a unit test for this class. User and Order are domain classed. A user has many orders.  </p>
  
  <pre><code>boolean testfun(long userId, lond orderId){
  
          User user = User.findByUserId(userId)
          if(user == null)return false
          Order order = Order.findByUserAndId(user, orderId)
          if(order == null)return false
  
          return true
      }
  </code></pre>
  
  <p>The unit test that I am trying to write is the following (using Spock):</p>
  
  <pre><code>@TestFor(OrderService)
  @Mock([User, Order])
  class OrderServiceSpec extends Specification{
   def "test funtest"() {
  
          User user = new User(2)
          Order order = new Order()
          order.metaClass.id = 3// I want to assign the id of the order in domain  
          order.save()        
          user.addToOrders(order)
          user.save()
  
          expect:
          service.testfun(2,3) == true
  }
  }
  </code></pre>
  
  <p>However this test fails because the order is null. Can anyone help me? 
  Another question is: is this test a unit test? or should I write an integration test in grails?</p>