void specify_queries_on_the_same_thread_with_different_stacktraces_are_worth_looking_at_but_my_not_be_inefficient() { var sqlLog = new SqlQueryLog(this, "select * from User where email in ('*****@*****.**')", "stack trace", 50, null); var sqlLog2 = new SqlQueryLog(this, "select * from User where email in ('*****@*****.**')", "stack trace 2", 50, null); var inefficientQueries = Bullet.InefficientQueries(new [] { sqlLog, sqlLog2 }.ToList()); inefficientQueries.Count().should_be(2); (inefficientQueries.First().Reason as string).should_contain("may not be inefficient"); }
void specify_similiar_queries_are_considered_nPlus1_if_the_where_in_clause_is_different_but_the_stack_and_thread_are_the_same() { var sqlLog = new SqlQueryLog(this, "select * from User where email in ('*****@*****.**')", "stack trace", 50, null); var sqlLog2 = new SqlQueryLog(this, "select * from User where email in ('*****@*****.**')", "stack trace", 50, null); var inefficientQueries = Bullet.InefficientQueries(new [] { sqlLog, sqlLog2 }.ToList()); inefficientQueries.Count().should_be(2); (inefficientQueries.First().Reason as string).should_contain("N+1"); }
void specify_exact_matches_on_the_same_thread_and_stack_trace_are_considered_inefficient() { var sqlLog = new SqlQueryLog(this, "select * from User where email = '*****@*****.**'", "stack trace", 50, null); var sqlLog2 = new SqlQueryLog(this, "select * from User where email = '*****@*****.**'", "stack trace", 50, null); var inefficientQueries = Bullet.InefficientQueries(new [] { sqlLog, sqlLog2 }.ToList()); inefficientQueries.Count().should_be(2); (inefficientQueries.First().Reason as string).should_contain("redundant"); }