public void Save_Error_ValuesIncrement()
{
ErrorMapper errorMapper = new ErrorMapper(this.client, this.database);
Guid applicationId = Guid.NewGuid();
Guid deviceId = Guid.NewGuid();
ErrorSummary expected = new ErrorSummary()
{
ApplicationId = applicationId,
Count = 2,
Date = date,
PlatformId = platform,
Version = version,
ScreenErrors = new List<Aggregate<string>>()
{
new Aggregate<string>()
{
Key = "someScreen",
Count = 2
}
}
};
ErrorSummary summary = new ErrorSummary()
{
ApplicationId = applicationId,
Count = 1,
Date = date,
PlatformId = platform,
Version = version,
ScreenErrors = new List<Aggregate<string>>()
{
new Aggregate<string>("someScreen")
}
};
errorMapper.Save(summary);
errorMapper.Save(summary);
IMongoQuery query = Query.And
(
Query<ErrorSummary>.EQ<DateTime>(mem => mem.Date, date),
Query<ErrorSummary>.EQ<Guid>(mem => mem.ApplicationId, applicationId),
Query<ErrorSummary>.EQ<string>(mem => mem.Version, version),
Query<ErrorSummary>.EQ<PlatformType>(mem => mem.PlatformId, platform)
);
ErrorSummary actual = this.GetCollection<ErrorSummary>().FindOne(query);
actual.ShouldHave().AllPropertiesBut(x => x.Id)
.IncludingNestedObjects().EqualTo(expected);
}