public async Task GetCharityActionsRequestHandler_Handle_Returns_No_CharityActions() { DonationsContext.OpenInMemoryConnection(); try { var charity1 = new Charity { CharityKey = Guid.NewGuid(), ChartityActions = new List <CharityAction>() }; var charity2 = new Charity { CharityKey = Guid.NewGuid(), ChartityActions = new List <CharityAction>() }; using (var context = DonationsContext.GetInMemoryContext()) { for (var i = 0; i < 25; i++) { charity1.ChartityActions.Add(new CharityAction { CharityActionKey = Guid.NewGuid(), Name = "CharityAction" }); } for (var i = 0; i < 20; i++) { charity2.ChartityActions.Add(new CharityAction { CharityActionKey = Guid.NewGuid(), Name = "CharityAction" }); } context.AddRange(charity1, charity2); context.SaveChanges(); } GetCharityActionsResponse response; using (var context = DonationsContext.GetInMemoryContext()) { var handler = new GetCharityActionsRequestHandler(context, AutoMapperHelper.BuildMapper(new MappingProfile())); response = await handler.Handle(new GetCharityActionsRequest { CharityKey = Guid.NewGuid() }); } Assert.AreEqual(0, response.CharityActions.Count); } finally { DonationsContext.CloseInMemoryConnection(); } }
public async Task GetCharityActionsRequestHandlerTests_Handle_Returns_Active_CharityActions() { CharityActionContext.OpenInMemoryConnection(); try { using (var context = CharityActionContext.GetInMemoryContext()) { var charity = new Charity { CharityKey = Guid.NewGuid() }; for (var i = 0; i < 25; i++) { context.CharityActions.Add(new CharityAction { Charity = charity, ActionEndDateTime = DateTime.UtcNow - TimeSpan.FromDays(10), CharityActionKey = Guid.NewGuid() }); } for (var i = 0; i < 15; i++) { context.CharityActions.Add(new CharityAction { Charity = charity, ActionEndDateTime = DateTime.UtcNow + TimeSpan.FromDays(10), CharityActionKey = Guid.NewGuid() }); } context.SaveChanges(); } GetCharityActionsResponse response; using (var context = CharityActionContext.GetInMemoryContext()) { var handler = new GetCharityActionsRequestHandler(context, AutoMapperHelper.BuildMapper(new MappingProfile())); response = await handler.Handle(new GetCharityActionsRequest { OnlyActive = true, PageNumber = 2, PageSize = 10 }); } Assert.AreEqual(15, response.TotalNumberOfResults); Assert.AreEqual(5, response.Results.Count); Assert.IsTrue(response.Results.All(r => r.ActionEndDateTime > DateTime.UtcNow)); } finally { CharityActionContext.CloseInMemoryConnection(); } }
public async Task GetCharityActionsRequestHandlerTests_Handle_Returns_CharityActions() { CharityActionContext.OpenInMemoryConnection(); try { using (var context = CharityActionContext.GetInMemoryContext()) { var charity = new Charity { CharityKey = Guid.NewGuid() }; for (var i = 0; i < 25; i++) { context.CharityActions.Add(new CharityAction { CharityActionKey = Guid.NewGuid(), Charity = charity }); } context.SaveChanges(); } GetCharityActionsResponse response; using (var context = CharityActionContext.GetInMemoryContext()) { var handler = new GetCharityActionsRequestHandler(context, AutoMapperHelper.BuildMapper(new MappingProfile())); response = await handler.Handle(new GetCharityActionsRequest { PageNumber = 2, PageSize = 20 }); } Assert.AreEqual(25, response.TotalNumberOfResults); Assert.AreEqual(5, response.Results.Count); } finally { CharityActionContext.CloseInMemoryConnection(); } }
public async Task GetCharityActionsRequestHandlerTests_Handle_Returns_Filtered_CharityActions() { CharityActionContext.OpenInMemoryConnection(); try { var charityKey = Guid.NewGuid(); using (var context = CharityActionContext.GetInMemoryContext()) { var charity1 = new Charity { CharityKey = charityKey }; var charity2 = new Charity { CharityKey = Guid.NewGuid() }; for (var i = 0; i < 25; i++) { context.CharityActions.Add(new CharityAction { CharityActionKey = Guid.NewGuid(), Name = "this is a charity for john", Description = "doe", Category = Category.EducationAndResearch | Category.Culture, Charity = charity2 }); } for (var i = 0; i < 15; i++) { if (i % 2 == 0) { if (i % 4 == 0) { context.CharityActions.Add(new CharityAction { Charity = charity1, CharityActionKey = Guid.NewGuid(), Name = "this is a charity for john", Description = "doe", Category = Category.EducationAndResearch | Category.Culture }); } else { context.CharityActions.Add(new CharityAction { Charity = charity1, CharityActionKey = Guid.NewGuid(), Name = "this is a charity for john", Description = "doe", Category = Category.EducationAndResearch | Category.Health }); } } else { context.CharityActions.Add(new CharityAction { Charity = charity1, CharityActionKey = Guid.NewGuid() }); } } context.SaveChanges(); } GetCharityActionsResponse response; using (var context = CharityActionContext.GetInMemoryContext()) { var handler = new GetCharityActionsRequestHandler(context, AutoMapperHelper.BuildMapper(new MappingProfile())); response = await handler.Handle(new GetCharityActionsRequest { CharityKey = charityKey, Category = Category.EducationAndResearch | Category.Culture, Keywords = new List <string> { "john", "doe" }, PageNumber = 2, PageSize = 1 }); } Assert.AreEqual(4, response.TotalNumberOfResults); Assert.AreEqual(1, response.Results.Count); Assert.IsTrue(response.Results.All(r => r.CharityKey == charityKey && r.Category == (Category.EducationAndResearch | Category.Culture))); } finally { CharityActionContext.CloseInMemoryConnection(); } }