forked from GiveCampUK/GiveCRM
/
FacetsTest.cs
100 lines (91 loc) · 3.6 KB
/
FacetsTest.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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
using System.Linq;
using GiveCRM.Models;
using NUnit.Framework;
using Simple.Data;
namespace GiveCRM.DataAccess.Test
{
[TestFixture]
public class FacetsTest
{
private IDatabaseProvider databaseProvider;
[SetUp]
public void SetUp()
{
databaseProvider = new DatabaseProvider();
dynamic db = databaseProvider.GetDatabase();
db.Donations.DeleteAll();
db.CampaignRuns.DeleteAll();
db.Campaigns.DeleteAll();
db.PhoneNumbers.DeleteAll();
db.MemberFacetValues.DeleteAll();
db.MemberFacets.DeleteAll();
db.Members.DeleteAll();
db.FacetValues.DeleteAll();
db.Facets.DeleteAll();
}
[Test]
public void InsertFreeTextFacet()
{
var facet = FacetSetUpHelper.CreateFreeTextFacet();
facet = new Facets(databaseProvider).GetById(facet.Id);
Assert.AreNotEqual(0, facet.Id);
Assert.AreEqual(FacetType.FreeText, facet.Type);
Assert.AreEqual("FreeTextTest", facet.Name);
}
[Test]
public void InsertListFacet()
{
var facet = FacetSetUpHelper.CreateListFacet();
Assert.AreNotEqual(0, facet.Id);
Assert.AreEqual(FacetType.List, facet.Type);
Assert.AreEqual("ListTest", facet.Name);
Assert.IsNotNull(facet.Values);
Assert.AreEqual(1, facet.Values.Count(v => v.Value == "One"));
Assert.AreEqual(1, facet.Values.Count(v => v.Value == "Two"));
foreach (var value in facet.Values)
{
Assert.AreEqual(facet.Id, value.FacetId);
Assert.AreNotEqual(0, value.Id);
}
}
[Test]
public void GetListFacet()
{
var facet = FacetSetUpHelper.CreateListFacet();
facet = new Facets(databaseProvider).GetById(facet.Id);
Assert.AreNotEqual(0, facet.Id);
Assert.AreEqual(FacetType.List, facet.Type);
Assert.AreEqual("ListTest", facet.Name);
Assert.IsNotNull(facet.Values);
Assert.AreEqual(1, facet.Values.Count(v => v.Value == "One"));
Assert.AreEqual(1, facet.Values.Count(v => v.Value == "Two"));
foreach (var value in facet.Values)
{
Assert.AreEqual(facet.Id, value.FacetId);
Assert.AreNotEqual(0, value.Id);
}
}
[Test]
public void AllFacets()
{
FacetSetUpHelper.CreateFreeTextFacet();
FacetSetUpHelper.CreateListFacet();
var facet = new Facets(databaseProvider).GetAll().FirstOrDefault(f => f.Type == FacetType.FreeText);
Assert.IsNotNull(facet);
Assert.AreEqual("FreeTextTest", facet.Name);
facet = new Facets(databaseProvider).GetAll().FirstOrDefault(f => f.Type == FacetType.List);
Assert.IsNotNull(facet);
Assert.AreNotEqual(0, facet.Id);
Assert.AreEqual(FacetType.List, facet.Type);
Assert.AreEqual("ListTest", facet.Name);
Assert.IsNotNull(facet.Values);
Assert.AreEqual(1, facet.Values.Count(v => v.Value == "One"));
Assert.AreEqual(1, facet.Values.Count(v => v.Value == "Two"));
foreach (var value in facet.Values)
{
Assert.AreEqual(facet.Id, value.FacetId);
Assert.AreNotEqual(0, value.Id);
}
}
}
}