예제 #1
0
        public void TestOrderApproved()
        {
            #region Arrange
            var users = new List <User>();
            for (int i = 0; i < 3; i++)
            {
                users.Add(CreateValidEntities.User(i + 1));
                users[i].SetIdTo((i + 1).ToString(CultureInfo.InvariantCulture));
            }
            new FakeUsers(0, UserRepository, users, true);

            var order    = CreateValidEntities.Order(1);
            var approval = CreateValidEntities.Approval(1);
            approval.User       = UserRepository.Queryable.Single(a => a.Id == "3");
            approval.StatusCode = CreateValidEntities.OrderStatusCode(4);
            UserIdentity.Expect(a => a.Current).Return("2");
            #endregion Arrange

            #region Act
            EventService.OrderApproved(order, approval);
            #endregion Act

            #region Assert
            NotificationService.AssertWasCalled(a => a.OrderApproved(order, approval));
            Assert.AreEqual(1, order.OrderTrackings.Count());
            Assert.AreEqual("FirstName2 LastName2", order.OrderTrackings[0].User.FullName);
            Assert.AreEqual("Name4", order.OrderTrackings[0].StatusCode.Name);
            Assert.AreEqual("approved", order.OrderTrackings[0].Description);
            #endregion Assert
        }
예제 #2
0
        protected void SetupDataForTests1()
        {
            var statusCodes = new List <OrderStatusCode>();

            for (int i = 0; i < 5; i++)
            {
                statusCodes.Add(CreateValidEntities.OrderStatusCode(i + 1));
                statusCodes[i].Level = i + 1;
            }

            statusCodes[3].ShowInFilterList = true;
            statusCodes[2].ShowInFilterList = true;

            new FakeOrderStatusCodes(0, OrderStatusCodeRepository, statusCodes, false);
            var orders = new List <Order>();

            for (int i = 0; i < 3; i++)
            {
                orders.Add(CreateValidEntities.Order(i + 1));
                orders[i].Workgroup  = CreateValidEntities.Workgroup(i + 1);
                orders[i].CreatedBy  = CreateValidEntities.User(i + 1);
                orders[i].StatusCode = OrderStatusCodeRepository.Queryable.First();
            }


            new FakeOrders(0, OrderRepository, orders);

            //OrderService.Expect(a => a.GetListofOrders(Arg<bool>.Is.Anything, Arg<bool>.Is.Anything, Arg<string>.Is.Anything, Arg<DateTime?>.Is.Anything, Arg<DateTime>.Is.Anything, Arg<bool>.Is.Anything)).Return(OrderRepository.Queryable);
        }
예제 #3
0
        /// <summary>
        /// Gets the valid entity of type T
        /// </summary>
        /// <param name="counter">The counter.</param>
        /// <returns>A valid entity of type T</returns>
        protected override OrderStatusCode GetValid(int?counter)
        {
            var rtValue = CreateValidEntities.OrderStatusCode(counter);

            rtValue.SetIdTo(counter.HasValue ? counter.Value.ToString() : "99");

            return(rtValue);
        }
예제 #4
0
        public void TestOrderAutoApprovalAddedAddsTracking()
        {
            #region Arrange
            var order    = CreateValidEntities.Order(1);
            var approval = CreateValidEntities.Approval(1);
            approval.User       = CreateValidEntities.User(3);
            approval.StatusCode = CreateValidEntities.OrderStatusCode(4);
            #endregion Arrange

            #region Act
            EventService.OrderAutoApprovalAdded(order, approval);
            #endregion Act

            #region Assert
            NotificationService.AssertWasNotCalled(a => a.OrderApproved(Arg <Order> .Is.Anything, Arg <Approval> .Is.Anything));
            Assert.AreEqual(1, order.OrderTrackings.Count());
            Assert.AreEqual("FirstName3 LastName3", order.OrderTrackings[0].User.FullName);
            Assert.AreEqual("Name4", order.OrderTrackings[0].StatusCode.Name);
            Assert.AreEqual("automatically approved", order.OrderTrackings[0].Description);
            #endregion Assert
        }
예제 #5
0
        public void TestOrderCreated()
        {
            #region Arrange
            var users = new List <User>();
            for (int i = 0; i < 3; i++)
            {
                users.Add(CreateValidEntities.User(i + 1));
                users[i].SetIdTo((i + 1).ToString(CultureInfo.InvariantCulture));
            }
            new FakeUsers(0, UserRepository, users, true);
            var statusCodes = new List <OrderStatusCode>();
            statusCodes.Add(CreateValidEntities.OrderStatusCode(1));
            statusCodes[0].SetIdTo(OrderStatusCode.Codes.Requester);
            statusCodes[0].Name = "Requestor";
            new FakeOrderStatusCodes(0, OrderStatusCodeRepository, statusCodes, true);

            var order = CreateValidEntities.Order(1);
            order.StatusCode   = CreateValidEntities.OrderStatusCode(4);
            order.CreatedBy    = UserRepository.Queryable.First();
            order.Organization = CreateValidEntities.Organization(1);
            order.Organization.SetIdTo("TEST");
            UserIdentity.Expect(a => a.Current).Return("2");

            #endregion Arrange

            #region Act
            EventService.OrderCreated(order);
            #endregion Act

            #region Assert
            NotificationService.AssertWasCalled(a => a.OrderCreated(order));
            Assert.AreEqual(1, order.OrderTrackings.Count());
            Assert.AreEqual("FirstName2 LastName2", order.OrderTrackings[0].User.FullName);
            Assert.AreEqual("Requestor", order.OrderTrackings[0].StatusCode.Name);
            Assert.AreEqual("created", order.OrderTrackings[0].Description);
            #endregion Assert
        }