src/test/scala/fis/crm/model/ContactSpec.scala
author Tomas Zeman <tzeman@volny.cz>
Tue, 03 Apr 2012 14:39:58 +0200
changeset 35 d77d8194ee59
parent 31 0b74e7bbe6ff
permissions -rw-r--r--
Contact record refactoring
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     1
/*
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     2
 * Copyright 2011 Tomas Zeman <tzeman@volny.cz>
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     3
 *
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     4
 * Licensed under the Apache License, Version 2.0 (the "License");
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     5
 * you may not use this file except in compliance with the License.
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     6
 * You may obtain a copy of the License at
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     7
 *
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
 *     http://www.apache.org/licenses/LICENSE-2.0
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
 *
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    10
 * Unless required by applicable law or agreed to in writing, software
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    11
 * distributed under the License is distributed on an "AS IS" BASIS,
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    13
 * See the License for the specific language governing permissions and
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    14
 * limitations under the License.
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    15
 */
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
package fis.crm.model
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
import fis.base.model._
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    19
import net.liftweb.common._
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    20
import net.liftweb.util._
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    21
import net.liftweb.util.Helpers._
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    22
import org.scalatest._
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    23
23
16066379860c Global entity removal from base schema
Tomas Zeman <tzeman@volny.cz>
parents: 8
diff changeset
    24
class ContactSpec extends AbstractTest with BeforeAndAfterAll {
8
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    25
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    26
  override def beforeAll() {
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    27
    super.beforeAll
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    28
    doInDB { schema.dropAndCreate }
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    29
  }
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    30
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    31
  "EntityContact" should "create" in { doInDB {
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    32
    val c1 = Contact.createRecord.name("c1")
35
d77d8194ee59 Contact record refactoring
Tomas Zeman <tzeman@volny.cz>
parents: 31
diff changeset
    33
    ContactCrud.save(c1) should be ('defined)
31
0b74e7bbe6ff Code lists refactoring
Tomas Zeman <tzeman@volny.cz>
parents: 23
diff changeset
    34
    /*
8
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    35
    val t1 = CodeListItem.createRecord.name("t1")
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    36
    codeListItems.insert(t1)
31
0b74e7bbe6ff Code lists refactoring
Tomas Zeman <tzeman@volny.cz>
parents: 23
diff changeset
    37
    */
8
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    38
    val c2 = Contact.createRecord.name("c2") // acts here as entity
35
d77d8194ee59 Contact record refactoring
Tomas Zeman <tzeman@volny.cz>
parents: 31
diff changeset
    39
    ContactCrud.save(c2) should be ('defined)
23
16066379860c Global entity removal from base schema
Tomas Zeman <tzeman@volny.cz>
parents: 8
diff changeset
    40
    /*
8
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    41
    entityContacts.insert(EntityContact(c2.id, c1.id, t1.id))
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    42
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    43
    val el1 = c1.entities.toList
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    44
    el1.size should equal (1)
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    45
    el1.head.id should equal (c2.id)
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    46
    el1.head.name.get should equal ("c2")
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    47
    val al1 = c1.entities.associations.toList
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    48
    al1.size should equal (1)
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    49
    al1.head.contactType.one should equal (Some(t1))
23
16066379860c Global entity removal from base schema
Tomas Zeman <tzeman@volny.cz>
parents: 8
diff changeset
    50
    */
8
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    51
  }}
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    52
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    53
  object schema extends CrmSchema with DropAndCreate
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    54
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    55
}
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    56
828565e7f571 ff8d393251d4dae6 Contact model
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    57
// vim: set ts=2 sw=2 et: