Skip to content

Instantly share code, notes, and snippets.

View JulianMay's full-sized avatar

Julian May JulianMay

View GitHub Profile
@JulianMay
JulianMay / JsonComparer.cs
Last active November 25, 2016 07:37
"By example" assertions of json-documents
using System;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
using System.Text;
namespace ProjectName.Tests.System.json
{
public class JsonComparer
{
@JulianMay
JulianMay / CompositeResponseAssert.cs
Last active October 20, 2016 11:13
Assertion DSL for Rest Responses
using System;
using System.Linq;
using NUnit.Framework;
using RestSharp;
namespace ProjectName.Tests.System
{
public class CompositeResponseAssert : IResponseAssert
{
private readonly ResponseAssert[] _responses;
@JulianMay
JulianMay / Example how to hook up Test to IISExpress class
Last active May 14, 2019 07:54
Handles starting/stopping IIS Express for your black-box systemtests (Relative path hardcoded - look for {YOURWEBPROJECTROOTFOLDER})
[SetUpFixture] //NUnit's "before all tests"
public class SystemTestInit
{
private IISExpress iis;
[SetUp]
public void Init()
{
if (iis != null)
throw new InvalidOperationException("IIS express is already configured!");
PDF document from our internal wiki, explaining the WHY's and HOW's
https://www.dropbox.com/s/6vjkv6qysahzcih/apiTests.pdf?dl=0
COMPONENTS USED TO FACILITATE THIS KIND OF TESTING
IIS Express instrumentation
https://gist.github.com/JulianMay/5d73c1708186532b61751b6e1b7e023e
Assertion DSL (chaining expextations for API responses)
https://gist.github.com/JulianMay/ef3d367a22829181e42a179fa97ce51f
@JulianMay
JulianMay / CustomerRegistrationService.cs
Created March 19, 2017 01:09
Domain Service Example
using System;
using Website.Domain;
namespace Website.Domain.Customers
{
public class ContactRegistrationService : IRegisterContactCommandHandler, IActivateExistingContactCommandHandler
{
private readonly ITransactionProvider _transactor;
private readonly ISelfRegistrationValidator _validator;
private readonly ICompanyRepository _companyRepo;