public void Get_all_persons() { var ids = new List<Guid>(); using (var db = new PragmaticDbContext()) { Person[] persons = { new Person { Name = "Han Solo" }, new Person { Name = "Peter Pan" }, new Person { Name = "Tom Sawyer" } }; ids.AddRange(persons.Select(person => person.Id)); foreach (var person in persons) { db.Persons.Add(person); } db.SaveChanges(); } var result = new GetAllQueryHandler<Person>(new PragmaticDbContext()) .Execute(new GetAllQuery<Person>()); Assert.That(result.CurrentPage, Is.EqualTo(Paging.None.Page)); Assert.That(result.PageSize, Is.EqualTo(Paging.None.PageSize)); Assert.That(result.TotalCount, Is.EqualTo(ids.Count)); Assert.That(result.Count(), Is.EqualTo(ids.Count)); }
public GetAllTests() { var context = ProductCatalogContextFactory.Create(); var mapper = MapperFactory.Create(); _handler = new GetAllQueryHandler(context, mapper); }
static void Main(string[] args) { AddComandHandler addComand = new AddComandHandler(); addComand.Execute(new AddComand(new Models.User { Id = Guid.NewGuid(), Username = "******", Password = "******" })); GetAllQueryHandler getAll = new GetAllQueryHandler(); foreach (User user in getAll.Execute(new GetAllQuery()).Users) { Console.WriteLine(user.Username + " - " + user.Password); } Console.ReadKey(); }
public async Task ShouldGetAll() { // Arrange var repository = new Mock <ITodoTaskEntityRepository>(); var tasks = new TodoTaskEntity[] { new TodoTaskEntity { Id = "afab15bc-d16b-49b8-a072-6bc1bc0d5156", Name = "Make a toast", Priority = 1, Status = TodoTaskEntityStatus.InProgress } }; repository .Setup(m => m.GetAll()) .ReturnsAsync(tasks); var handler = new GetAllQueryHandler(repository.Object); // Act var result = await handler.HandleAsync(); // Result Assert.NotNull(result); Assert.Single(result); Assert.Equal("afab15bc-d16b-49b8-a072-6bc1bc0d5156", result.ElementAt(0).Id); Assert.Equal("Make a toast", result.ElementAt(0).Name); Assert.Equal(1, result.ElementAt(0).Priority); Assert.Equal(TodoTaskStatus.InProgress, result.ElementAt(0).Status); repository.Verify(m => m.GetAll(), Times.Once); }
public void Get_all_persons_orderd_by_age_descending() { var ages = new List<int>(); using (var db = new PragmaticDbContext()) { Person[] persons = { new Person { Name = "Han Solo", Age = 30 }, new Person { Name = "Peter Pan", Age = 40 }, new Person { Name = "Tom Sawyer", Age = 50 } }; ages.AddRange(persons.Select(person => person.Age)); // Let's create persons in some random order. foreach (var person in persons.Randomize()) { db.Persons.Add(person); } db.SaveChanges(); } var result = new GetAllQueryHandler<Person>(new PragmaticDbContext()) .Execute(new GetAllQuery<Person> { OrderBy = new OrderBy<Person>(x => x.Age, OrderByDirection.Descending) }); Assert.That(result.CurrentPage, Is.EqualTo(Paging.None.Page)); Assert.That(result.PageSize, Is.EqualTo(Paging.None.PageSize)); Assert.That(result.TotalCount, Is.EqualTo(ages.Count)); CollectionAssert.AreEqual(ages.OrderByDescending(x => x), result.Select(x => x.Age)); }
public void Get_persons_with_certain_name() { var ids = new List<Guid>(); using (var db = new PragmaticDbContext()) { Person[] persons = { new Person { Name = "Han Solo" }, new Person { Name = "Peter Pan" }, new Person { Name = "Tom Sawyer" }, new Person { Name = "Han Pan" } }; ids.AddRange(persons.Select(person => person.Id)); foreach (var person in persons) { db.Persons.Add(person); } db.SaveChanges(); } var result = new GetAllQueryHandler<Person>(new PragmaticDbContext()) .Execute(new GetAllQuery<Person> { Criteria = Option<Expression<Func<Person, bool>>>.From(x => x.Name.StartsWith("Han")) }); Assert.That(result.CurrentPage, Is.EqualTo(Paging.None.Page)); Assert.That(result.PageSize, Is.EqualTo(Paging.None.PageSize)); Assert.That(result.TotalCount, Is.EqualTo(2)); Assert.That(result.Count(), Is.EqualTo(2)); Assert.That(result.All(x => x.Name.StartsWith("Han"))); }
public void Get_all_persons_with_pagination() { var ids = new List<Guid>(); using (var db = new PragmaticDbContext()) { Person[] persons = { new Person { Name = "Han Solo" }, new Person { Name = "Peter Pan" }, new Person { Name = "Tom Sawyer" } }; ids.AddRange(persons.Select(person => person.Id)); foreach (var person in persons) { db.Persons.Add(person); } db.SaveChanges(); } var result = new GetAllQueryHandler<Person>(new PragmaticDbContext()) .Execute(new GetAllQuery<Person> { OrderBy = Option<OrderBy<Person>>.From(new OrderBy<Person>(x => x.Name)), Paging = Option<Paging>.From(new Paging(1, 1)) }); Assert.That(result.CurrentPage, Is.EqualTo(1)); Assert.That(result.PageSize, Is.EqualTo(1)); Assert.That(result.TotalCount, Is.EqualTo(ids.Count)); Assert.That(result.Count(), Is.EqualTo(1)); }
public void Get_all_persons_ordered_by_name_and_age_and_date_of_birth() { var namesAgesAndDatesOfBirth = new[] { new { Name = "Anne", Age = 50, DateOfBirth = new DateTime(2000, 12, 1) }, new { Name = "Anne", Age = 50, DateOfBirth = new DateTime(2000, 12, 2) }, new { Name = "Anne", Age = 60, DateOfBirth = new DateTime(2000, 12, 3) }, new { Name = "Anne", Age = 60, DateOfBirth = new DateTime(2000, 12, 4) }, new { Name = "Bob", Age = 30, DateOfBirth = new DateTime(2000, 12, 1) }, new { Name = "Bob", Age = 30, DateOfBirth = new DateTime(2000, 12, 2) }, new { Name = "Bob", Age = 40, DateOfBirth = new DateTime(2000, 12, 3) }, new { Name = "Bob", Age = 40, DateOfBirth = new DateTime(2000, 12, 4) }, new { Name = "Clark", Age = 10, DateOfBirth = new DateTime(2000, 12, 1) }, new { Name = "Clark", Age = 10, DateOfBirth = new DateTime(2000, 12, 2) }, new { Name = "Clark", Age = 20, DateOfBirth = new DateTime(2000, 12, 3) }, new { Name = "Clark", Age = 20, DateOfBirth = new DateTime(2000, 12, 4) } }; // Let's add persons into the database in a random order. using (var db = new PragmaticDbContext()) { foreach (var person in namesAgesAndDatesOfBirth.Select(x => new Person { Name = x.Name, Age = x.Age, DateOfBirth = x.DateOfBirth }).Randomize()) { db.Persons.Add(person); } db.SaveChanges(); } var result = new GetAllQueryHandler<Person>(new PragmaticDbContext()) .Execute(new GetAllQuery<Person> { OrderBy = new OrderBy<Person>(person => person.Name) .ThenBy(person => person.Age) .ThenBy(person => person.DateOfBirth) }); var expectedNamesAndAges = namesAgesAndDatesOfBirth; var actualNamesAndAges = result.Select(person => new { person.Name, person.Age, person.DateOfBirth }); CollectionAssert.AreEqual(expectedNamesAndAges, actualNamesAndAges); result = new GetAllQueryHandler<Person>(new PragmaticDbContext()) .Execute(new GetAllQuery<Person> { OrderBy = new OrderBy<Person>(person => person.DateOfBirth) .ThenBy(person => person.Age) .ThenBy(person => person.Name) }); expectedNamesAndAges = namesAgesAndDatesOfBirth.OrderBy(x => x.DateOfBirth).ThenBy(x => x.Age).ThenBy(x => x.Name).ToArray(); actualNamesAndAges = result.Select(person => new { person.Name, person.Age, person.DateOfBirth }); CollectionAssert.AreEqual(expectedNamesAndAges, actualNamesAndAges); }
public void Get_all_persons_orderd_by_name_descending() { var names = new List<string>(); using (var db = new PragmaticDbContext()) { Person[] persons = { new Person { Name = "Han Solo" }, new Person { Name = "Peter Pan" }, new Person { Name = "Tom Sawyer" } }; names.AddRange(persons.Select(person => person.Name)); foreach (var person in persons) { db.Persons.Add(person); } db.SaveChanges(); } var result = new GetAllQueryHandler<Person>(new PragmaticDbContext()) .Execute(new GetAllQuery<Person> { OrderBy = Option<OrderBy<Person>>.From(new OrderBy<Person>(x => x.Name, OrderByDirection.Descending)) }); Assert.That(result.CurrentPage, Is.EqualTo(Paging.None.Page)); Assert.That(result.PageSize, Is.EqualTo(Paging.None.PageSize)); Assert.That(result.TotalCount, Is.EqualTo(names.Count)); CollectionAssert.AreEqual(names.OrderByDescending(x => x), result.Select(x => x.Name)); }
public void Get_all_persons_orderd_by_is_administrator() { var isAdministratorValues = new List<bool>(); using (var db = new PragmaticDbContext()) { Person[] persons = { new Person { Name = "Han Solo", IsAdministrator = false }, new Person { Name = "Peter Pan", IsAdministrator = false }, new Person { Name = "Tom Sawyer", IsAdministrator = true } }; isAdministratorValues.AddRange(persons.Select(person => person.IsAdministrator)); foreach (var person in persons) { db.Persons.Add(person); } db.SaveChanges(); } var result = new GetAllQueryHandler<Person>(new PragmaticDbContext()) .Execute(new GetAllQuery<Person> { OrderBy = Option<OrderBy<Person>>.From(new OrderBy<Person>(x => x.IsAdministrator)) }); Assert.That(result.CurrentPage, Is.EqualTo(Paging.None.Page)); Assert.That(result.PageSize, Is.EqualTo(Paging.None.PageSize)); Assert.That(result.TotalCount, Is.EqualTo(isAdministratorValues.Count)); CollectionAssert.AreEqual(isAdministratorValues.OrderBy(x => x), result.Select(x => x.IsAdministrator)); }