Discussion posts and replies are publicly visible
The username which you entered is not exist. please try to use another username.
username is the which we use to login into the environment?
you can do like that as well. both are correct. Ideally, we are using as user type but in the initial code you used text that's why i used text.
can you send me a screen shot i am unable to select a user type in the dropdown?
The datatype dropdown lists by default the most common datatypes, but if you start typing into the field (which has 'Search data types' displayed in it!) then you can find all other data types in your environment:
The Appian 'User' datatype is considered to be a primitive datatype.
is that not a CDT? its referring to ae/types/2009
No. A CDT is a "Custom Data Type" which is an assembly of primitive and/or other CDTs, constructed by an Appian Developer.
what is ae/types/2009? is it the namespace?
if i select the one which is highlighted the rule input is of user type... i need to pass only the methods/functions which return user types..or touser(some text value) if the user enters a text value
Yes. Datatypes in Appian are in effect XSD schemas, and require a namespace to disambiguate similarly named datatypes e.g. if I create a datatype called "Instrument" I might mean "Musical Instrument" whereas another developer might mean "Surgical Instrument". Namespacing makes provision for this kind of potential collison.
thank you
If you know for sure that the value you're going to pass is a User object, then use the correct rule input datatype. If you're not sure (for example, the data might be read from a database table which doesn't support the Appian User datatype and thus would have to be stored as Text) then you'd use Text as your rule input datatype. You'd then need to firstly check that the value passed is an actual User in your Appian environment before running any user-oriented functions on it. Note that fn!user() will automatically try to cast the value passed to it to type User so you don't need to run fn!touser() on the value if you already know it's a valid User.
thanks for the detailed explanation, finally got it
can you share a documentation page on how to write test cases?
https://docs.appian.com/suite/help/22.2/Expression_Rule_Testing.html
(note: this is public documentation and is searchable)
can you tell me the difference between assertion output and actual output?
Expected result versus actual result.
okay ..while writing the test cases, we give test inputs, and specify the asserted(expected) output in the value right?
also mention the type of expected output
Yes...but typically you'd try a set of values in Ad Hoc mode, and then convert that to a Test Case when you were happy with it. The Test Case will automatically pick the Type for you.