Exemplo n.º 1
0
        public void Create_InvalidCurrencyId_ArgumentExceptionThrown()
        {
            var orderId      = Guid.NewGuid();
            var supplierId   = Guid.NewGuid();
            var instructions = "some instructions";
            var currencyId   = Guid.NewGuid();

            _orderService = OrderServiceTestHelper.CreateOrderService(
                MockRepository.GenerateStub <IOrderRepository>(),
                SupplierRepositoryTestHelper.GetSupplierRepository_GetById_ReturnsSupplier(supplierId),
                CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsNull(currencyId),
                _userContext);
            CreateOrder(orderId, supplierId, instructions, currencyId);
        }
Exemplo n.º 2
0
        public void Create_UserHasInsufficentSecurity_DomainValidationExceptionThrown()
        {
            var orderId      = Guid.NewGuid();
            var supplierId   = Guid.NewGuid();
            var instructions = "some instructions";
            var currencyId   = Guid.NewGuid();

            _orderService = OrderServiceTestHelper.CreateOrderService(
                MockRepository.GenerateStub <IOrderRepository>(),
                SupplierRepositoryTestHelper.GetSupplierRepository_GetById_ReturnsSupplier(supplierId),
                CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId),
                TestUserContext.Create("*****@*****.**", "Graham Robertson", "Operations Manager", UserRole.Public));
            CreateOrder(orderId, supplierId, instructions, currencyId);
            Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InsufficientSecurityClearance));
        }
Exemplo n.º 3
0
        public void Create_InstructionsGreaterThan255Characters_ArgumentExceptionThrown()
        {
            var orderId      = Guid.NewGuid();
            var supplierId   = Guid.NewGuid();
            var instructions = new string('a', 256);
            var currencyId   = Guid.NewGuid();

            _orderService = OrderServiceTestHelper.CreateOrderService(
                MockRepository.GenerateStub <IOrderRepository>(),
                SupplierRepositoryTestHelper.GetSupplierRepository_GetById_ReturnsSupplier(supplierId),
                CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId),
                _userContext);
            CreateOrder(orderId, supplierId, instructions, currencyId);
            Assert.IsTrue(_domainValidationException.ResultContainsMessage(Messages.InstructionsTooLarge));
        }
Exemplo n.º 4
0
        public void Create_ValidOrderDetails_OrderCreated()
        {
            var orderId      = Guid.NewGuid();
            var supplierId   = Guid.NewGuid();
            var instructions = "some instructions";
            var currencyId   = Guid.NewGuid();

            var orderRepositoryMock = MockRepository.GenerateMock <IOrderRepository>();

            orderRepositoryMock.Expect(x => x.Create(null)).IgnoreArguments();
            _orderService = OrderServiceTestHelper.CreateOrderService(
                orderRepositoryMock,
                SupplierRepositoryTestHelper.GetSupplierRepository_GetById_ReturnsSupplier(supplierId),
                CurrencyRepositoryTestHelper.GetCurrencyRepository_StubsGetById_ReturnsGbpCurrency(currencyId),
                _userContext);
            CreateOrder(orderId, supplierId, instructions, currencyId);
            orderRepositoryMock.VerifyAllExpectations();
            Assert.AreNotEqual(Guid.Empty, _savedOrder.Id);
            Assert.That(_savedOrder.OrderNo.StartsWith("OR"));
            Assert.AreEqual("*****@*****.**", _savedOrder.CreatedBy.EmailAddress);
            Assert.AreEqual(_dateCreated, _savedOrder.DateCreated);
            Assert.AreEqual(false, _savedOrder.IsApproved);
        }