public async Task With_Parts_And_Page_Calls_Client_GetCountQuery_And_Client_GetQuery_And_Db_QueryAsync() { // Arrange var value = Rnd.Str; var(parts, param) = DbQuery_Setup.GetParts(); var(db, client, _, query) = DbQuery_Setup.Get(value, param); var transaction = Substitute.For <IDbTransaction>(); // Act await query.QueryAsync <int>(Rnd.ULng, parts); await query.QueryAsync <int>(Rnd.ULng, parts, transaction); // Assert client.Received(2).GetCountQuery(parts); await db.Received().ExecuteAsync <ulong>(value, param, CommandType.Text, Arg.Any <IDbTransaction>()); await db.Received().ExecuteAsync <ulong>(value, param, CommandType.Text, transaction); client.Received(2).GetQuery(Arg.Any <IQueryParts>()); await db.Received().QueryAsync <int>(value, param, CommandType.Text, Arg.Any <IDbTransaction>()); await db.Received().QueryAsync <int>(value, param, CommandType.Text, transaction); }
public async Task Calls_Db_ExecuteAsync_As_Text() { // Arrange var(db, _, _, query) = DbQuery_Setup.Get(); var value = Rnd.Str; var param = Rnd.Int; var transaction = Substitute.For <IDbTransaction>(); // Act await query.ExecuteAsync(value, param); await query.ExecuteAsync(value, param, transaction); await query.ExecuteAsync <long>(value, param); await query.ExecuteAsync <long>(value, param, transaction); // Assert await db.Received().ExecuteAsync(value, param, CommandType.Text, Arg.Any <IDbTransaction>()); await db.Received().ExecuteAsync(value, param, CommandType.Text, transaction); await db.Received().ExecuteAsync <long>(value, param, CommandType.Text, Arg.Any <IDbTransaction>()); await db.Received().ExecuteAsync <long>(value, param, CommandType.Text, transaction); }
public async Task WithParts_And_Page_GetQuery_Exception_Returns_None_With_ErrorGettingQueryFromPartsExceptionMsg() { // Arrange var(parts, _) = DbQuery_Setup.GetParts(); var(_, client, _, query) = DbQuery_Setup.Get(); var transaction = Substitute.For <IDbTransaction>(); client.GetQuery(Arg.Any <IQueryParts>()).ThrowsForAnyArgs <Exception>(); // Act var r0 = await query.QueryAsync <int>(Rnd.ULng, parts); var r1 = await query.QueryAsync <int>(Rnd.ULng, parts, transaction); // Assert r0.AssertNone().AssertType <ErrorGettingQueryFromPartsExceptionMsg>(); r1.AssertNone().AssertType <ErrorGettingQueryFromPartsExceptionMsg>(); }
public async Task Calls_Db_QueryAsync_With_CommandType(CommandType input) { // Arrange var(db, _, _, query) = DbQuery_Setup.Get(); var value = Rnd.Str; var param = Rnd.Int; var transaction = Substitute.For <IDbTransaction>(); // Act await query.QueryAsync <int>(value, param, input); await query.QueryAsync <int>(value, param, input, transaction); // Assert await db.Received().QueryAsync <int>(value, param, input, Arg.Any <IDbTransaction>()); await db.Received().QueryAsync <int>(value, param, input, transaction); }