_forums__forum_message_new (private)

 _forums__forum_message_new

Defined in packages/forums/tcl/test/forums-procs.tcl

Partial Call Graph (max 5 caller/called nodes):
%3 aa_equals aa_equals (public) aa_false aa_false (public) aa_log aa_log (public) aa_log_result aa_log_result (public) aa_run_with_teardown aa_run_with_teardown (public) _forums__forum_message_new _forums__forum_message_new _forums__forum_message_new->aa_equals _forums__forum_message_new->aa_false _forums__forum_message_new->aa_log _forums__forum_message_new->aa_log_result _forums__forum_message_new->aa_run_with_teardown

Testcases:
No testcase defined.
Source code:
        
        set _aa_export {}
        set body_count 1
        foreach testcase_body {{

    aa_run_with_teardown  -rollback  -test_code {

            set main_site [site_node::get -url "/test"]
            set package_id [dict get $main_site object_id]

            aa_log "Require the attachments package"
            if {![site_node_apm_integration::child_package_exists_p  -package_id $package_id  -package_key attachments]} {
                site_node::instantiate_and_mount  -package_key attachments  -parent_node_id [dict get $main_site node_id]
            }

            # Create forum
            set forum_id [forum::new  -name "foo"  -posting_policy "moderated"  -attachments_allowed_p false  -package_id $package_id]

            aa_false "Attachments are disabled"  [forum::attachments_enabled_p -forum_id $forum_id]

            aa_log "Enable attachments on the forum"
            forum::edit -forum_id $forum_id -attachments_allowed_p true

            aa_true "Attachments are enabled"  [forum::attachments_enabled_p -forum_id $forum_id]

            # Create message
            set message_id [forum::message::new  -forum_id $forum_id  -subject "foo"  -content "foo"]

            set child_message_id [forum::message::new  -forum_id $forum_id  -parent_id $message_id  -format text/plain  -subject "bar"  -content "bar"]

            aa_equals "There are no attachments on message '$message_id'"  [llength [attachments::get_attachments -object_id $message_id]] 0
            set attachments [db_list any_objects {
                select object_id from acs_objects
                where object_id not in (:message_id, :child_message_id, :forum_id, :package_id)
                order by object_id desc
                fetch first 3 rows only
            }]
            foreach attachment_id $attachments {
                attachments::attach  -object_id $message_id  -attachment_id $attachment_id  -approved_p true
            }
            aa_equals "There are now 3 attachments on message '$message_id'"  [llength [attachments::get_attachments -object_id $message_id]] 3

            forum::message::get -message_id $message_id -array m
            aa_equals "Message '$message_id' is waiting for approval"  $m(state) "pending"

            forum::message::get -message_id $child_message_id -array cm
            aa_equals "Message '$child_message_id' is waiting for approval"  $cm(state) "pending"
            aa_equals "Message '$child_message_id' is child of '$message_id'"  $cm(parent_id) $message_id
            aa_equals "Message '$child_message_id' is in format 'text/plain'"  $cm(format) text/plain

            aa_log "Change the format of message '$child_message_id'"
            forum::message::set_format -message_id $child_message_id -format text/html
            forum::message::get -message_id $child_message_id -array cm
            aa_equals "Message '$child_message_id' is now in format 'text/html'"  $cm(format) text/html

            aa_log "Reject message '$message_id'"
            forum::message::reject -message_id $message_id
            forum::message::get -message_id $message_id -array m
            aa_equals "Message '$message_id' is rejected"  $m(state) "rejected"
            forum::message::get -message_id $child_message_id -array cm
            aa_equals "Message '$child_message_id' is still waiting for approval"  $cm(state) "pending"

            aa_log "Approve message '$message_id'"
            forum::message::approve -message_id $message_id
            forum::message::get -message_id $message_id -array m
            aa_equals "Message '$message_id' is approved"  $m(state) "approved"
            forum::message::get -message_id $child_message_id -array cm
            aa_equals "Message '$child_message_id' is still waiting for approval"  $cm(state) "pending"

            aa_log "Close message '$message_id' (meant as subthread)"
            forum::message::close -message_id $message_id
            forum::message::get -message_id $message_id -array m
            aa_false "Message '$message_id' is closed" $m(open_p)
            forum::message::get -message_id $child_message_id -array cm
            aa_false "Message '$child_message_id' is also closed" $cm(open_p)

            aa_log "Open message '$message_id' (meant as subthread)"
            forum::message::open -message_id $message_id
            forum::message::get -message_id $message_id -array m
            aa_true "Message '$message_id' is open" $m(open_p)
            forum::message::get -message_id $child_message_id -array cm
            aa_true "Message '$child_message_id' is also open" $cm(open_p)
        }
}} {
          aa_log "Running testcase body $body_count"
          set ::__aa_test_indent [info level]
          set catch_val [catch $testcase_body msg]
          if {$catch_val != 0 && $catch_val != 2} {
              aa_log_result "fail" "forum_message_new (body $body_count): Error during execution: $msg, stack trace: \n$::errorInfo"
          }
          incr body_count
        }
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: