public void Permission_query_uses_psql_json_contains()
        {
            var sut = new UserAuthRepoFixtureBuilder()
                      .Build();

            sut.Execute(session => {
                var command = session.Query <UserAuth>()
                              .Where(x => x.Permissions.Contains("perm3") && x.Id == 2)
                              .ToCommand(FetchType.Any);

                // uses JSONb contains operator
                Assert.Contains("@>", command.CommandText);
            });
        }
        public void Get_user_by_name_uses_separate_field()
        {
            var sut = new UserAuthRepoFixtureBuilder()
                      .Build();

            sut.Execute(session =>
            {
                var command = session.Query <UserAuth>()
                              .Where(x => x.UserName.Equals("bob", StringComparison.CurrentCultureIgnoreCase))
                              .ToCommand(FetchType.FetchOne);

                // does not operate on JSONb
                Assert.DoesNotContain(">", command.CommandText);
                // matches d.user_name ILIKE
                Assert.Matches(@"\w+\.user_name\s+ILIKE", command.CommandText);
            });
        }
コード例 #3
0
        public void Can_create_multiple_users()
        {
            var sut = new UserAuthRepoFixtureBuilder()
                      .WithUsers(
                new UserAuth()
            {
                UserName = "******"
            },
                new UserAuth()
            {
                UserName = "******"
            }
                )
                      .Build();

            Assert.Equal(2, sut.Execute(session => session.Query <UserAuth>().Count()));
        }