public void Ctor_HappyPath_NoParameterNameClosedConnection() { // Arrange var searchTerm = "foo"; var connection = A.Fake <IDbConnection>(); var sqlQuery = "SELECT a.AnimalId AS Id, 50 AS Weight FROM dbo.Animal a WHERE CHARINDEX(@SearchTerm, a.Name) > 1"; var command = A.Fake <IDbCommand>(); A.CallTo(() => connection.CreateCommand()).Returns(command); A.CallTo(() => connection.State).Returns(ConnectionState.Closed); var parameter = A.Fake <IDbDataParameter>(); A.CallTo(() => command.CreateParameter()).Returns(parameter); var reader = A.Fake <IDataReader>(); A.CallTo(() => command.ExecuteReader()).Returns(reader); A.CallTo(() => reader.GetOrdinal("Id")).Returns(1); A.CallTo(() => reader.GetOrdinal("Weight")).Returns(3); // Act using (var sut = new SqlItemResultDataReader(connection, sqlQuery, new SearchParameter(searchTerm))) { } // Assert A.CallToSet(() => command.CommandType).To(CommandType.Text).MustHaveHappened(); A.CallToSet(() => command.CommandText).To(sqlQuery).MustHaveHappened(); A.CallTo(() => command.Parameters.Add(parameter)).MustHaveHappened(); A.CallToSet(() => parameter.Direction).To(ParameterDirection.Input).MustHaveHappened(); A.CallToSet(() => parameter.ParameterName).To(SearchParameter.DefaultParameterName).MustHaveHappened(); A.CallToSet(() => parameter.DbType).To(DbType.String).MustHaveHappened(); A.CallToSet(() => parameter.Value).To(searchTerm).MustHaveHappened(); A.CallTo(() => connection.Open()).MustHaveHappened(); A.CallTo(() => command.ExecuteReader()).MustHaveHappened(); A.CallTo(() => reader.GetOrdinal("Id")).MustHaveHappened(); A.CallTo(() => reader.GetOrdinal("Weight")).MustHaveHappened(); }
public void Ctor_NoParameterName_UsesDefault_Bug1() { // Arrange var connection = A.Fake <IDbConnection>(); var sqlQuery = "bar"; var command = A.Fake <IDbCommand>(); A.CallTo(() => connection.CreateCommand()).Returns(command); var parameter = A.Fake <IDbDataParameter>(); A.CallTo(() => command.CreateParameter()).Returns(parameter); // Act using (var sut = new SqlItemResultDataReader(connection, sqlQuery, new SearchParameter("foo"))) { } // Assert A.CallToSet(() => parameter.ParameterName).To(SearchParameter.DefaultParameterName).MustHaveHappened(); }