KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm writing my first MSpec specifications and I wanted some guidance. I left the specs in the "pending" state, but the context is filled out. Are there any improvements to be made? For reference, this is the story and first scenario: Story: "Blog admin logs in to the system" As a blog writer I want to be able to log in to my blog So that I can write posts and administer my blog Scenario: "Logs in from the login page" Given the user enters in correct credentials for a user in the system When the user clicks the "Login" button Then log the user in and redirect to the admin panel with a message stating that he logged in correctly And the MSpec code (some parts snipped), notice that I had to alias the MSpec It delegate due to a conflict with Moq.It : using MoqIt = Moq.It; using ThenIt = Machine.Specifications.It; [Subject("User tries logging in")] public class When_user_enters_valid_credentials : With_user_existing_in_membership { protected static ActionResult result; Because of = () => { result = loginController.Login(validUsername, validPassword); }; ThenIt should_log_the_user_in; ThenIt should_redirect_the_user_to_the_admin_panel; ThenIt should_show_message_confirming_successful_login; } public abstract class With_user_existing_in_membership { protected static Mock<ISiteMembership> membershipMock; protected static string validUsername; protected static string validPassword; protected static LoginController loginController; Establish context =()=> { membershipMock = new Mock<ISiteMembership>(); validUsername = "ValidUsername"; validPassword = "ValidPassword"; //make sure it's treated as valid usernames and password membershipMock .Setup<bool>(m => m.Validate( MoqIt.Is<string>(s => s == validUsername),
Tags (comma-separated)
Save Edits
Cancel