예제 #1
0
        public void InitializeEntity_ExceptionHandling_AccountPrimaryKeyIsNull()
        {
            #region ARRANGE

            // Create the workflow unit test mock context
            WorkflowExecutionContext context = CreateWorkflowExecutionContext();

            // Initialize the unit test
            InitializeUnitTest(context, new InitializeEntity());

            // Setup the mock input
            CodeActivityInput.Add(InitializeEntity.BusinessEntityPrimaryKeyText, null);

            #endregion
            #region ACT

            // Act: Invoke the workflow returns the actual ouput
            CodeActivityOutput = WorkflowInvoker.Invoke(CodeActivityInput);

            #endregion
            #region ASSERT

            Assert.IsNotNull((string)CodeActivityOutput[ExceptionText]);
            Assert.AreEqual(InitializeEntity.BusinessEntityPrimaryKeyIsRequiredMessage, (string)CodeActivityOutput[ExceptionText]);

            #endregion
        }
예제 #2
0
        public void InitializeEntityService_ExceptionHandling_AccountNumberAlreadySet()
        {
            #region ARRANGE

            // Create the workflow unit test mock context
            WorkflowExecutionContext context = CreateWorkflowExecutionContext();

            // Initialize the unit test
            InitializeUnitTest(context, new InitializeEntity());

            // Setup the mock input
            CodeActivityInput.Add(InitializeEntity.BusinessEntityPrimaryKeyText, _accountKey.ToString());

            // Setup the mock objects
            SetupMockObjectsForCustomCodeActivity();

            // Setup the mock responses
            SetupMockResponseForAccount(_accountKey, _accountNumber);

            #endregion
            #region ACT

            // Act: Invoke the workflow returns the actual ouput
            CodeActivityOutput = WorkflowInvoker.Invoke(CodeActivityInput);

            #endregion
            #region ASSERT

            Assert.IsNotNull((string)CodeActivityOutput[ExceptionText]);
            Assert.AreEqual(InitializeEntityService.AccountNumberAlreadySetMessage, (string)CodeActivityOutput[ExceptionText]);

            #endregion
        }
예제 #3
0
        public void InitializeEntityService_InitializeEntityService_SetAccountNumber()
        {
            #region ARRANGE

            // Create the workflow unit test mock context
            WorkflowExecutionContext context = CreateWorkflowExecutionContext();

            // Initialize the unit test
            InitializeUnitTest(context, new InitializeEntity());

            // Setup the mock input
            CodeActivityInput.Add(InitializeEntity.BusinessEntityPrimaryKeyText, _accountKey.ToString());

            // Setup the mock objects
            SetupMockObjectsForCustomCodeActivity();

            // Setup the mock responses
            SetupMockResponseForAccount(_accountKey, null);

            #endregion
            #region ACT

            // Act: Invoke the workflow returns the actual ouput
            CodeActivityOutput = WorkflowInvoker.Invoke(CodeActivityInput);

            #endregion
            #region ASSERT

            // Setup the expected result
            string accountNumber = string.Format(CultureInfo.InvariantCulture,
                                                 InitializeEntityService.TextFormat, InitializeEntityService.DateTimeNow.
                                                 ToString(InitializeEntityService.DateTimeFormat, CultureInfo.InvariantCulture));

            Assert.IsNull((string)CodeActivityOutput[ExceptionText]);
            InitializedEntity account = SerializationHelper.DeserializeJson <InitializedEntity>(
                (string)CodeActivityOutput.SingleOrDefault(x => x.Key.Equals("InitializedEntity")).Value);
            Assert.AreEqual(accountNumber, account.AccountNumber);

            #endregion
        }