Ejemplo n.º 1
0
        public void TestThatForeignKeyAddCallsPublishOnCommandBus()
        {
            var fixture = new Fixture();

            var foodGroupMock = DomainObjectMockBuilder.BuildFoodGroupMock();
            // ReSharper disable PossibleInvalidOperationException
            var foreignKeyMock = DomainObjectMockBuilder.BuildForeignKeyMock(foodGroupMock.Identifier.Value, foodGroupMock.GetType());
            // ReSharper restore PossibleInvalidOperationException

            var commandBusMock = MockRepository.GenerateMock <ICommandBus>();

            commandBusMock.Stub(m => m.Publish <ForeignKeyAddCommand, ServiceReceiptResponse>(Arg <ForeignKeyAddCommand> .Is.NotNull))
            .WhenCalled(e =>
            {
                var command = (ForeignKeyAddCommand)e.Arguments.ElementAt(0);
                // ReSharper disable PossibleInvalidOperationException
                Assert.That(command.DataProviderIdentifier, Is.EqualTo(foreignKeyMock.DataProvider.Identifier.Value));
                // ReSharper restore PossibleInvalidOperationException
                Assert.That(command.ForeignKeyForIdentifier, Is.EqualTo(foreignKeyMock.ForeignKeyForIdentifier));
                Assert.That(command.ForeignKeyValue, Is.Not.Null);
                Assert.That(command.ForeignKeyValue, Is.Not.Empty);
                Assert.That(command.ForeignKeyValue, Is.EqualTo(foreignKeyMock.ForeignKeyValue));
            })
            .Return(fixture.Create <ServiceReceiptResponse>())
            .Repeat.Any();

            var logicExecutor = new LogicExecutor(commandBusMock);

            Assert.That(logicExecutor, Is.Not.Null);

            logicExecutor.ForeignKeyAdd(foreignKeyMock);

            commandBusMock.AssertWasCalled(m => m.Publish <ForeignKeyAddCommand, ServiceReceiptResponse>(Arg <ForeignKeyAddCommand> .Is.NotNull));
        }
Ejemplo n.º 2
0
        public void TestThatForeignKeyAddThrowsArgumentNullExceptionWhenForeignKeyIsNull()
        {
            var commandBusMock = MockRepository.GenerateMock <ICommandBus>();

            var logicExecutor = new LogicExecutor(commandBusMock);

            Assert.That(logicExecutor, Is.Not.Null);

            var exception = Assert.Throws <ArgumentNullException>(() => logicExecutor.ForeignKeyAdd(null));

            Assert.That(exception, Is.Not.Null);
            Assert.That(exception.ParamName, Is.Not.Null);
            Assert.That(exception.ParamName, Is.Not.Empty);
            Assert.That(exception.ParamName, Is.EqualTo("foreignKey"));
            Assert.That(exception.InnerException, Is.Null);
        }
Ejemplo n.º 3
0
        public void TestThatForeignKeyAddReturnsIdentifierFromServiceReceiptResponse()
        {
            var fixture = new Fixture();

            var foodGroupMock = DomainObjectMockBuilder.BuildFoodGroupMock();
            // ReSharper disable PossibleInvalidOperationException
            var foreignKeyMock = DomainObjectMockBuilder.BuildForeignKeyMock(foodGroupMock.Identifier.Value, foodGroupMock.GetType());
            // ReSharper restore PossibleInvalidOperationException

            var serviceReceipt = fixture.Create <ServiceReceiptResponse>();
            var commandBusMock = MockRepository.GenerateMock <ICommandBus>();

            commandBusMock.Stub(m => m.Publish <ForeignKeyAddCommand, ServiceReceiptResponse>(Arg <ForeignKeyAddCommand> .Is.Anything))
            .Return(serviceReceipt)
            .Repeat.Any();

            var logicExecutor = new LogicExecutor(commandBusMock);

            Assert.That(logicExecutor, Is.Not.Null);

            var result = logicExecutor.ForeignKeyAdd(foreignKeyMock);

            Assert.That(result, Is.EqualTo(serviceReceipt.Identifier));
        }