Example #1
0
        public async Task ListsAllUsers(SliceFixture fixture)
        {
            // Arrange
            var registerUserCommand = new Register.Command
            {
                UserName          = "******",
                FirstName         = "Some name",
                Password          = "******",
                ConfirmedPassword = "******"
            };

            var registerUserCommand2 = new Register.Command
            {
                UserName          = "******",
                FirstName         = "Some name",
                Password          = "******",
                ConfirmedPassword = "******"
            };

            await fixture.SendAsync(registerUserCommand);

            await fixture.SendAsync(registerUserCommand2);

            // Act
            var query = new Users.Query();
            var model = await fixture.SendAsync(query);

            // Assert
            var usersInDb = await fixture.ExecuteDbContextAsync(db =>
                                                                db.Users
                                                                .Include(u => u.Roles)
                                                                .ToListAsync());

            // Order them so I can compare by index
            model     = model.OrderBy(u => u.Id);
            usersInDb = usersInDb.OrderBy(u => u.Id).ToList();

            usersInDb.Count.ShouldBe(model.Count());
            model.ElementAt(0).Id.ShouldBe(usersInDb[0].Id);
            model.ElementAt(1).Id.ShouldBe(usersInDb[1].Id);
            model.ElementAt(0).Roles.Count.ShouldBe(usersInDb[0].Roles.Count);
            model.ElementAt(0).Roles.Count.ShouldBe(usersInDb[1].Roles.Count);
        }
        public async Task <ViewResult> Users(Users.Query query)
        {
            var model = await this.mediator.SendAsync(query);

            return(View(model));
        }