Skip to content

Instantly share code, notes, and snippets.

@taylonr
taylonr / activity.tests.js
Created May 12, 2014 01:50
underscore query
var _ = require('lodash'),
ActivityController = require('../../../controllers/activity.controller'),
FakeDatabase = [
{userId: '123', Name: 'First Activity', Records: [{Date: new Date(2014, 1, 1)}]},
{userId: '123', Name: 'Second Activity', Records: [{Date: new Date(2014, 2, 1)}]}];
require('underscore-query')(_);
ActivityController.Activity.find = function(findObject, callback){
var activities = _.query(FakeDatabase, findObject);
@taylonr
taylonr / After Refactor
Last active August 29, 2015 14:21
Initial test
describe('User Service...', function(){
var userService,
customerService,
scope;
beforeEach(inject(function(testHelper){
userService = testHelper.setUpMocksWithSpies('UserService');
customerService = testHelper.setUpMocksWithSpies('CustomerService');
@taylonr
taylonr / Production
Created June 1, 2015 14:23
Fail First
$scope.isBalancePositive = function(){
if($scope.balance > 0){
return true;
}
}
@taylonr
taylonr / DataProfiler.cs
Created December 15, 2011 14:09
Profiler Interface
public class DataProfiler : IProfiler
{
public DataProfiler()
{
Enabled = true;
}
public bool Enabled { get; set; }
public void Update(PetaPocoSqlInfo info)
@taylonr
taylonr / DataProfiler.cs
Created December 15, 2011 15:33
DataProfiler Implementation
public class DataProfiler : ISqlProfiler
{
public DataProfiler()
{
Enabled = true;
}
public bool Enabled { get; set; }
public void Update(PetaPocoSqlInfo info)
@taylonr
taylonr / PetaPocoGlimpse.cs
Created December 15, 2011 15:34
PetaPocoGlimpse
[GlimpsePlugin]
public class PetaPocoGlimpsePlugin : IGlimpsePlugin
{
public object GetData(HttpContextBase context)
{
if (context.Items[DataProfiler.PetaKey] == null)
return new List<object[]> { new[] { "Log" }, new[] { "No database requests or database logging not switched on (Compilation debug='true' or ForceLogging='true' on
PetaPoco.DatabaseWithLogging)", "warn" } };
var sqls = new List<object[]> {new[] {"#", "Time(ms)", "Sql", "Parameters"}};
@taylonr
taylonr / SqlInfo.cs
Created December 17, 2011 14:39
SqlInfo
public class SqlInfo
{
public double Time { get; set; }
public string FormattedSql { get; set; }
public string Sql { get; set; }
public IDataParameterCollection Parameters { get; set; }
}
@taylonr
taylonr / ISqlProfiler.cs
Created December 17, 2011 14:40
ISqlProfiler
public interface ISqlProfiler
{
bool Enabled { get;}
void Update(PetaPocoSqlInfo info);
}
@taylonr
taylonr / Purchase.sql
Created December 21, 2011 19:29
Collation
CREATE TYPE [dbo].[MyRecords] AS TABLE(
[Id] [int] NOT NULL,
[ModuleId] [int] NOT NULL,
[Code] [nvarchar](20) COLLATE SQL_Latin1_General_CP1_CS_AS NOT NULL,
PRIMARY KEY CLUSTERED
(
[Id] ASC,
[ModuleId] ASC,
[Code] ASC
)WITH (IGNORE_DUP_KEY = OFF)
@taylonr
taylonr / executescalar
Created February 20, 2012 17:27
Petapoco ExecuteScalar
var returnCode = Database.ExecuteScalar<int>(
"exec GetData @userId, @date",
new {userId = userId, @date = DateTime.Now});