-
Notifications
You must be signed in to change notification settings - Fork 4
/
CouchDocumentSpecs.cs
73 lines (64 loc) · 2.2 KB
/
CouchDocumentSpecs.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using System;
using System.Reflection;
using NUnit.Framework;
using NUnit.Framework.SyntaxHelpers;
using SineSignal.Ottoman.Specs.Framework;
namespace SineSignal.Ottoman.Specs
{
public class CouchDocumentSpecs
{
public class When_dehydrating_an_entity_into_a_couch_document_with_no_revision : StaticConcern
{
private Employee entity1;
private Type entity1Type;
private PropertyInfo identityProperty;
private CouchDocument couchDocument;
protected override void Given()
{
entity1 = new Employee { Id = Guid.NewGuid(), Name = "Bob", Login = "boblogin" };
entity1Type = entity1.GetType();
identityProperty = entity1Type.GetProperty("Id");
}
protected override void When()
{
couchDocument = CouchDocument.Dehydrate(entity1, identityProperty, String.Empty);
}
[Test]
public void Should_create_couch_document_without_a_revision()
{
Assert.That(couchDocument["_id"], Is.EqualTo(entity1.Id));
Assert.That(couchDocument["Type"], Is.EqualTo(entity1Type.Name));
Assert.That(couchDocument["Name"], Is.EqualTo(entity1.Name));
Assert.That(couchDocument["Login"], Is.EqualTo(entity1.Login));
}
}
public class When_dehydrating_an_entity_into_a_couch_document_with_a_revision : StaticConcern
{
private Employee entity1;
private Type entity1Type;
private PropertyInfo identityProperty;
private string revision;
private CouchDocument couchDocument;
protected override void Given()
{
entity1 = new Employee { Id = Guid.NewGuid(), Name = "Bob", Login = "boblogin" };
entity1Type = entity1.GetType();
identityProperty = entity1Type.GetProperty("Id");
revision = "abc123";
}
protected override void When()
{
couchDocument = CouchDocument.Dehydrate(entity1, identityProperty, revision);
}
[Test]
public void Should_create_couch_document_with_revision()
{
Assert.That(couchDocument["_id"], Is.EqualTo(entity1.Id));
Assert.That(couchDocument["_rev"], Is.EqualTo(revision));
Assert.That(couchDocument["Type"], Is.EqualTo(entity1Type.Name));
Assert.That(couchDocument["Name"], Is.EqualTo(entity1.Name));
Assert.That(couchDocument["Login"], Is.EqualTo(entity1.Login));
}
}
}
}