Skip to content

Instantly share code, notes, and snippets.

@jeriley
Created May 17, 2018 11:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeriley/dfe52d5e7e8e66ca7c824a52480e6345 to your computer and use it in GitHub Desktop.
Save jeriley/dfe52d5e7e8e66ca7c824a52480e6345 to your computer and use it in GitHub Desktop.
Which do you prefer?
using Moq;
using NUnit.Framework;
using Should;
//and some other stuff
namespace WorkerTests
{
[TestFixture]
public class Worker_CreateThingFromContractTests
{
private Worker _worker;
private Mock<IApi> _fakeApi;
private Thing _createdThing;
[Test]
public void creates_thing_from_contract()
{
var contract = new Contract()
{
Id = "2000",
Name = "some name",
Days = "6",
Account = new Nested() { Name = "Nonya Incorporated"},
Contact = new Contact() { Name = "Name", Email = "something@something.com"},
TotalAmount = "5000"
};
_fakeApi = new Mock<IApi>();
_fakeApi.Setup(x => x.Create(It.IsAny<Thing>())).Await()
.Callback((IThing thing) =>
{
_createdThing = (Thing)thing;
});
var fakeApp = new Mock<IApp>();
fakeApp.Setup(x => x.Target).Returns("13");
_worker = new Worker(_fakeApi.Object, fakeApp.Object);
var result = _worker.CreateThing(Contract, "Ready", "fakeSub.domain.com.net.org").Result;
_fakeV1.Verify(x => x.Create(It.IsAny<Thing>()), Times.Once);
_createdThing.Name.ShouldEqual("Contract Nonya Incorporated");
_createdThing.Description.ShouldEqual("Contract Doc : <a href='https://fakeSub.domain.com.net.org/2000'>Contract-100</a><br /> Primary Contact : Name something@something.com");
_createdThing.Reference.ShouldEqual("2000");
}
}
}
using Moq;
using NUnit.Framework;
using Should;
//and some other stuff
namespace WorkerTests
{
[TestFixture]
public class Worker_CreateThingFromContractTests
{
private Worker _worker;
private Mock<IApi> _fakeApi;
private Thing _createdThing;
[OneTimeSetUp]
public void Setup()
{
var contract = new Contract()
{
Id = "2000",
Name = "some name",
Days = "6",
Account = new Nested() { Name = "Nonya Incorporated"},
Contact = new Contact() { Name = "Name", Email = "something@something.com"},
TotalAmount = "5000"
};
_fakeApi = new Mock<IApi>();
_fakeApi.Setup(x => x.Create(It.IsAny<Thing>())).Await()
.Callback((IThing thing) =>
{
_createdThing = (Thing)thing;
});
var fakeApp = new Mock<IApp>();
fakeApp.Setup(x => x.Target).Returns("13");
_worker = new Worker(_fakeApi.Object, fakeApp.Object);
var result = _worker.CreateThing(Contract, "Ready", "fakeSub.domain.com.net.org").Result;
}
[Test]
public void posts_data_to_api()
{
_fakeV1.Verify(x => x.Create(It.IsAny<Thing>()), Times.Once);
}
[Test]
public void sets_the_title_as_contract()
{
_createdThing.Name.ShouldEqual("Contract Nonya Incorporated");
}
[Test]
public void sets_the_contract_description()
{
_createdThing.Description.ShouldEqual("Contract Doc : <a href='https://fakeSub.domain.com.net.org/2000'>Contract-100</a><br /> Primary Contact : Name something@something.com");
}
[Test]
public void sets_the_reference_on_the_contract()
{
_createdThing.Reference.ShouldEqual("2000");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment