public void should_set_parameter_to_the_value_found_in_the_matching_property_of_the_static_object() { // Arrange var task = Task.New<BuildParameters>(); var mockDbCommand = new Mock<IDbCommand> { DefaultValue = DefaultValue.Mock }; var mockDbDataParameter = new Mock<IDbDataParameter>(); mockDbCommand.Setup(dbCommand => dbCommand.CreateParameter()).Returns(mockDbDataParameter.Object); mockDbCommand.Setup(dbCommand => dbCommand.CommandText).Returns("doesnt matter"); task.In.Command = mockDbCommand.Object; var mockObject = new MockPerson { Name = "John Doe", Age = 21 }; task.In.Values = mockObject; task.FindParameters = Fake.Task<FindParameters>(j => j.Out.ParameterNames = new[] { "@Name" }); // Act task.Execute(); // Assert mockDbDataParameter.VerifySet(parameter => parameter.ParameterName = "@Name"); mockDbDataParameter.VerifySet(parameter => parameter.Value = "John Doe"); mockDbCommand.Verify(dbCommand => dbCommand.Parameters.Add(mockDbDataParameter.Object), Times.Once()); }
public void should_ignore_parameters_found_in_the_command_text_without_matching_properties_in_the_static_object() { // Arrange var task = Task.New<BuildParameters>(); var mockDbCommand = new Mock<IDbCommand> { DefaultValue = DefaultValue.Mock }; var mockDbDataParameter = new Mock<IDbDataParameter>(); mockDbCommand.Setup(dbCommand => dbCommand.CreateParameter()).Returns(mockDbDataParameter.Object); mockDbCommand.Setup(dbCommand => dbCommand.CommandText).Returns("doesnt matter"); task.In.Command = mockDbCommand.Object; var mockObject = new MockPerson { Name = "John Doe", Age = 21 }; task.In.Values = mockObject; task.FindParameters = Fake.Task<FindParameters>(j => j.Out.ParameterNames = new[] { "@Whatever" }); // Act & Assert task.Execute(); mockDbCommand.Verify(dbCommand => dbCommand.Parameters.Add(mockDbDataParameter.Object), Times.Never()); }