J'ai une règle de sécurité selon laquelle un nouvel utilisateur a des autorisations complètes sur sa propre entité utilisateur. J'utilise Rhino.Security et le code fonctionne bien, mais je veux créer un test unitaire pour m'assurer que l'appel approprié est fait pour configurer l'autorisation. Voici une verison simplifiée du code:Comment tester si une méthode de service fluide est appelée
public User Register(UserRegisterTask userRegistrationTask) {
User user = User.Create(userRegistrationTask);
this.userRepository.Save(user);
// Give this user permission to do operations on itself
this.permissionsBuilderService.Allow("Domain/User")
.For(user)
.On(user)
.DefaultLevel()
.Save();
return user;
}
Je suis moqué des userRepository et permissionBuilderService, mais l'interface fluide du permissionBuilderService nécessite différents objets à renvoyer de chaque appel de méthode dans la chaîne (c.-à-(Laissez charger ...) Pour (...). Sur (...) etc). Mais je ne peux pas trouver un moyen de se moquer de chacun des objets de la chaîne.
Existe-t-il un moyen de tester si la méthode Allow de permissionBuilderService est appelée mais en ignorant le reste de la chaîne?
Merci Dan
Le vrai permissionsBuilderService a-t-il des effets secondaires? (c'est-à-dire serait-il possible d'utiliser le vrai dans les tests?) – Grzenio
Le vrai permissionsBuilderService s'attend à ce qu'une vraie base de données soit attachée. C'est possible mais il faut configurer le db et l'abattre pour chacun de ces types de tests. J'espérais quelque chose de moins exigeant. – Dan