public async Task TestAddRoleToUseTrigger()
        {
            //SETUP
            var fakeCache = new FakeSimpleCache();
            var options   = SqliteInMemory.CreateOptions <ExtraAuthorizeDbContext>();

            using (var context = new ExtraAuthorizeDbContext(options, fakeCache))
            {
                context.Database.EnsureCreated();
                var rolToPer = RoleToPermissions.CreateRoleWithPermissions
                                   ("test", "test", new List <Permissions> {
                    Permissions.AccessAll
                }, context).Result;
                context.Add(rolToPer);
                context.SaveChanges();
                fakeCache.Clear();

                //ATTEMPT
                var userToRole = new UserToRole("test", rolToPer);
                context.Add(userToRole);
                await context.SaveChangesAsync();

                //VERIFY
                fakeCache.AddOrUpdateCalled.ShouldBeTrue();
                context.UserToRoles.Count().ShouldEqual(1);
            }
        }
        public void TestUpdateRoleTrigger()
        {
            //SETUP
            var fakeCache = new FakeSimpleCache();
            var options   = SqliteInMemory.CreateOptions <ExtraAuthorizeDbContext>();

            using (var context = new ExtraAuthorizeDbContext(options, fakeCache))
            {
                context.Database.EnsureCreated();
                var rolToPer = RoleToPermissions.CreateRoleWithPermissions
                                   ("test", "test", new List <Permissions> {
                    Permissions.AccessAll
                }, context).Result;
                context.Add(rolToPer);
                context.SaveChanges();

                //ATTEMPT
                rolToPer.UpdatePermissionsInRole(new List <Permissions> {
                    Permissions.EmployeeRead
                });
                context.SaveChanges();

                //VERIFY
                fakeCache.AddOrUpdateCalled.ShouldBeTrue();
                context.RolesToPermissions.Count().ShouldEqual(1);
            }
        }