public void GetTypeByResourceTypeName_fails_when_getting_unregistered_name() { // Arrange var pluralizationService = new PluralizationService(); var mm = new ModelManager(pluralizationService); // Act Action action = () => { mm.GetTypeByResourceTypeName("posts"); }; // Assert action.ShouldThrow<InvalidOperationException>().WithMessage("The resource type name `posts` was not registered."); }
public void GetTypeByResourceTypeName_returns_correct_value_for_registered_names() { // Arrange var pluralizationService = new PluralizationService(); var mm = new ModelManager(pluralizationService); mm.RegisterResourceType(typeof(Post)); mm.RegisterResourceType(typeof(Author)); mm.RegisterResourceType(typeof(Comment)); mm.RegisterResourceType(typeof(UserGroup)); // Act var postType = mm.GetTypeByResourceTypeName("posts"); var authorType = mm.GetTypeByResourceTypeName("authors"); var commentType = mm.GetTypeByResourceTypeName("comments"); var userGroupType = mm.GetTypeByResourceTypeName("user-groups"); // Assert postType.Should().Be(typeof (Post)); authorType.Should().Be(typeof (Author)); commentType.Should().Be(typeof (Comment)); userGroupType.Should().Be(typeof (UserGroup)); }