Index: openacs-4/contrib/packages/simulation/test/demo-data-setup.test
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/test/Attic/demo-data-setup.test,v
diff -u -r1.11 -r1.12
--- openacs-4/contrib/packages/simulation/test/demo-data-setup.test	5 Jan 2004 17:05:07 -0000	1.11
+++ openacs-4/contrib/packages/simulation/test/demo-data-setup.test	6 Jan 2004 16:41:38 -0000	1.12
@@ -6,9 +6,6 @@
 
     # Test Execution START
 
-    # TODO: Create users with different roles and for different
-    # actions below be logged in with an appropriate user
-
     # Demo data start
     set actors_list {
         Teacher
@@ -55,19 +52,7 @@
 
     ::twt::log_section "Add demo users to system"
     for {set i 1} {$i <= 20} {incr i} {
-        do_request /acs-admin/users/user-add
-        field find ~n email
-        field fill "demo_user${i}@test.test"
-        field find ~n first_names
-        field fill "Demo"
-        field find ~n last_name
-        field fill "User $i"
-        field find ~n password
-        field fill "1"
-        field find ~n password_confirm
-        field fill "1"
-
-        form submit
+        ::twt::simulation::add_user -first_names Demo -last_name "User $i"
     }    
 
     ::twt::log_section "Add demo groups"
@@ -82,22 +67,30 @@
     
     ::twt::log_section "Add demo users to groups"
     for {set i 1} {$i <= 5} {incr i} {
-        do_request "/admin/group-types/one?group_type=group"
-        link follow ~c "Demo group $i"
         
-        link follow ~u "relations/add.*membership_rel"        
-        link follow ~u "membership_rel"
+        set add_user_url [::twt::simulation::add_user_to_group_url -group_name "Demo group $i"]
 
-        set add_user_url $::tclwebtest::url
-
         for {set user_count [expr ($i - 1)*4 + 1]} {$user_count <= [expr $i*4]} {incr user_count} {
-            do_request $add_user_url
-            field find ~n party_id
-            field select "Demo User $user_count"
-            form submit
+            ::twt::simulation::add_user_to_group -add_user_url $add_user_url -user_name "Demo User $user_count"
         }
     }
 
+    ::twt::log_section "Create a demo user in each permission group"
+    foreach group_name {
+        "Sim Admins"
+        "Template Authors"
+        "Case Authors"
+        "Service Admins"
+        "City Admins"
+        "Actors"
+    } {
+        set first_names $group_name
+        set last_name "Test User"
+        ::twt::simulation::add_user -first_names $first_names -last_name $last_name
+
+        ::twt::simulation::add_user_to_group -group_name $group_name -user_name "$first_names $last_name"
+    }
+
     ::twt::log_section "Create an image object"
     do_request /simulation/citybuild
     link follow ~u object-edit
Index: openacs-4/contrib/packages/simulation/test/simulation-test-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/simulation/test/Attic/simulation-test-procs.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/contrib/packages/simulation/test/simulation-test-procs.tcl	18 Nov 2003 15:59:12 -0000	1.2
+++ openacs-4/contrib/packages/simulation/test/simulation-test-procs.tcl	6 Jan 2004 16:41:38 -0000	1.3
@@ -61,3 +61,52 @@
     do_request /simulation/simbuild/
     link follow ~u template-edit ~c $template_name    
 }
+
+ad_proc ::twt::simulation::add_user {
+    {-first_names:required}
+    {-last_name:required}
+} {
+    do_request /acs-admin/users/user-add
+    field find ~n email
+    set email_account [string map {" " _} "$first_names $last_name"]
+    field fill "${email_account}@test.test"
+    field find ~n first_names
+    field fill $first_names
+    field find ~n last_name
+    field fill $last_name
+    field find ~n password
+    field fill "1"
+    field find ~n password_confirm
+    field fill "1"
+
+    form submit
+}
+
+ad_proc ::twt::simulation::add_user_to_group_url {
+    {-group_name:required}
+} {
+    do_request "/admin/group-types/one?group_type=group"
+    link follow ~c $group_name
+    
+    link follow ~u "relations/add.*membership_rel"        
+    link follow ~u "membership_rel"
+
+    set add_user_url $::tclwebtest::url
+
+    return $add_user_url
+}
+
+ad_proc ::twt::simulation::add_user_to_group {
+    {-group_name ""}
+    {-add_user_url ""}
+    {-user_name:required}
+} {
+    if { [empty_string_p $add_user_url] } {
+        set add_user_url [add_user_to_group_url -group_name $group_name]
+    }
+
+    do_request $add_user_url
+    field find ~n party_id
+    field select $user_name
+    form submit    
+}
Index: openacs-4/packages/simulation/test/demo-data-setup.test
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/test/demo-data-setup.test,v
diff -u -r1.11 -r1.12
--- openacs-4/packages/simulation/test/demo-data-setup.test	5 Jan 2004 17:05:07 -0000	1.11
+++ openacs-4/packages/simulation/test/demo-data-setup.test	6 Jan 2004 16:41:38 -0000	1.12
@@ -6,9 +6,6 @@
 
     # Test Execution START
 
-    # TODO: Create users with different roles and for different
-    # actions below be logged in with an appropriate user
-
     # Demo data start
     set actors_list {
         Teacher
@@ -55,19 +52,7 @@
 
     ::twt::log_section "Add demo users to system"
     for {set i 1} {$i <= 20} {incr i} {
-        do_request /acs-admin/users/user-add
-        field find ~n email
-        field fill "demo_user${i}@test.test"
-        field find ~n first_names
-        field fill "Demo"
-        field find ~n last_name
-        field fill "User $i"
-        field find ~n password
-        field fill "1"
-        field find ~n password_confirm
-        field fill "1"
-
-        form submit
+        ::twt::simulation::add_user -first_names Demo -last_name "User $i"
     }    
 
     ::twt::log_section "Add demo groups"
@@ -82,22 +67,30 @@
     
     ::twt::log_section "Add demo users to groups"
     for {set i 1} {$i <= 5} {incr i} {
-        do_request "/admin/group-types/one?group_type=group"
-        link follow ~c "Demo group $i"
         
-        link follow ~u "relations/add.*membership_rel"        
-        link follow ~u "membership_rel"
+        set add_user_url [::twt::simulation::add_user_to_group_url -group_name "Demo group $i"]
 
-        set add_user_url $::tclwebtest::url
-
         for {set user_count [expr ($i - 1)*4 + 1]} {$user_count <= [expr $i*4]} {incr user_count} {
-            do_request $add_user_url
-            field find ~n party_id
-            field select "Demo User $user_count"
-            form submit
+            ::twt::simulation::add_user_to_group -add_user_url $add_user_url -user_name "Demo User $user_count"
         }
     }
 
+    ::twt::log_section "Create a demo user in each permission group"
+    foreach group_name {
+        "Sim Admins"
+        "Template Authors"
+        "Case Authors"
+        "Service Admins"
+        "City Admins"
+        "Actors"
+    } {
+        set first_names $group_name
+        set last_name "Test User"
+        ::twt::simulation::add_user -first_names $first_names -last_name $last_name
+
+        ::twt::simulation::add_user_to_group -group_name $group_name -user_name "$first_names $last_name"
+    }
+
     ::twt::log_section "Create an image object"
     do_request /simulation/citybuild
     link follow ~u object-edit
Index: openacs-4/packages/simulation/test/simulation-test-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/simulation/test/simulation-test-procs.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/simulation/test/simulation-test-procs.tcl	18 Nov 2003 15:59:12 -0000	1.2
+++ openacs-4/packages/simulation/test/simulation-test-procs.tcl	6 Jan 2004 16:41:38 -0000	1.3
@@ -61,3 +61,52 @@
     do_request /simulation/simbuild/
     link follow ~u template-edit ~c $template_name    
 }
+
+ad_proc ::twt::simulation::add_user {
+    {-first_names:required}
+    {-last_name:required}
+} {
+    do_request /acs-admin/users/user-add
+    field find ~n email
+    set email_account [string map {" " _} "$first_names $last_name"]
+    field fill "${email_account}@test.test"
+    field find ~n first_names
+    field fill $first_names
+    field find ~n last_name
+    field fill $last_name
+    field find ~n password
+    field fill "1"
+    field find ~n password_confirm
+    field fill "1"
+
+    form submit
+}
+
+ad_proc ::twt::simulation::add_user_to_group_url {
+    {-group_name:required}
+} {
+    do_request "/admin/group-types/one?group_type=group"
+    link follow ~c $group_name
+    
+    link follow ~u "relations/add.*membership_rel"        
+    link follow ~u "membership_rel"
+
+    set add_user_url $::tclwebtest::url
+
+    return $add_user_url
+}
+
+ad_proc ::twt::simulation::add_user_to_group {
+    {-group_name ""}
+    {-add_user_url ""}
+    {-user_name:required}
+} {
+    if { [empty_string_p $add_user_url] } {
+        set add_user_url [add_user_to_group_url -group_name $group_name]
+    }
+
+    do_request $add_user_url
+    field find ~n party_id
+    field select $user_name
+    form submit    
+}