C# - Test A MVC2 Post Action With Validation When Using MvcContrib TestHelper?

Oct 12, 2010

I'm attempting to write a unit tests for an ASP.NET MVC 2 post action that takes a view model as its sole parameter. The view model is decorated with validation attributes such as [Required]. I'd like to test two scenarios. The first scenario is when a valid set of data is passed in (ie, all required properties have values) and a redirect to the list page is returned. The second scenario involves passing in invalid data (eg, when one or more of the Required properties are not set). In this case the same view is returned with error messages.The action signature is as follows:

[HttpPost]
public virtual ActionResult Create(NewsViewModel model)

The NewsViewModel class is as follows:

public class NewsViewModel
{
public Guid Id { get; set; }

[code]...

View 1 Replies


Similar Messages:

MVC :: Testing Routes With MvcContrib.TestHelper And MsUnit?

May 8, 2010

I'm trying to get my route tests going using MvcContrib.TestHelper and MsUnit. This is what I got: (Pretty much straight out of MVC 2 in Action, Chapter 26, Testing Practices. Just I *have* to use msUnit, while the book use nUnit)

[Code]....

However I get an error saying : MvcContribTestHelperSandbox.Tests.Controllers.RouteTests.Setup has wrong signature. The method should be marked .. [rest is just cut off...not nice!) When I tried runnig it without the setup, I get some error complaining about a wrong version of Rhino Mocks, which I'm not even using! (Intend to add a reference to Moq.dll when I need to do mocking)

View 3 Replies

Mvccontrib Test Helper And Verifying Http Post Routes And Parameters?

Jan 29, 2010

In my Asp.net MVC app, I have two methods on a controller, one for when the user first arrives on the view and then one when they submit the form on said view.

public ActionResult Foo() {}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Foo(string id, Account accountToFoo) {}

In the second action, there's a custom model binder that's assembling the account object that I'm acting on, though that's really not important. This all works fine in testing locally on a server.We try to be pretty good about writing unit tests to test all our different views are properly getting routed to, including those that are HTTP POST. To do so, we've been using mvccontrib's test helper.

Testing gets have been super simple

"~/account/foo/myusername".
Route().
ShouldMapTo<AccountController>(c => c.Foo("myusername"));

My question is in testing POST routes, how do I write the lambda that I would use to verify the post is receiving accurate values, similar to the GET test above?

For a POST, it looks something like:

"~/account/foo".
WithMethod(HttpVerbs.Post).
ShouldMapTo<AccountController>(a => something_something);

It's the something_something portion of my lambda that I'm having trouble with. Using arbitrary values doesn't work ("a => a.Foo(0, new Account()"). How would I specify the expected values as part of the test?EDIT I was hoping there was something akin to the way Moq has lambdas for statements such as foo.Setup(s => s.Foo(It.IsAny(), It.Is(i => i > 32)) and so on. Even I have to explicitly supply the values, that's workable--I just can't seem to grok the desired structure to pass those explicit values.

View 2 Replies

Test That A Controller Action Simply Returns A Link To Another Action?

Apr 29, 2010

Lets say I have a simple controller for ASP.NET MVC I want to test. I want to test that a controller action (Foo, in this case) simply returns a link to another action (Bar, in this case).How would you test TestController.Foo? (either the first or second link)

My implementation has the same link twice. One passes the url throw ViewData[]. This seems more testable to me, as I can check the ViewData collection returned from Foo(). Even this way though, I don't know how to validate the url itself without making dependencies on routing.The controller:

public class TestController : Controller
{
public ActionResult Foo()[code].....

View 1 Replies

MVC :: Controller Invokes GET Action Instead Of POST Action

May 20, 2010

I'm trying to add file upload functionality to a page. I've got a form that posts the selected file to a controller with a 'savefile' method. But if I don't add a get version of 'savefile' I'll get a 404 error. Here is the form code which is presented on the Index page:

[Code]....

And here is the controller code:

[Code]....

Intuitively I don't think I should need a GET version of SaveFile but if omit it I get a 404 error when the form posts. Why should I need a GET version of SaveFile when all I want is to post a form and save the file?

View 4 Replies

MVC2 - Rendering An Action Link And Text On Same Line?

Mar 4, 2011

I will like to achieve the following html using Html.ActionLink:

<li><a href="/WhatWeDo/JohnDoe">John Doe</a>President</li>

The name "John Doe" and title "President" will be coming from a staff model. This is what I have:

<% foreach (var item in Model as IEnumerable<AkwiMemorial.Models.Staff>)
{ %>
<li><%= Html.ActionLink(item.Name, "GetStaffDetails", "WhatWeDo", new { staffID = item.Id }, null) %> item.Position</li>
<% } %>

Instead of rendering "item.Position" literally, I will like this string extracted from the model.

View 1 Replies

MVC :: How To Test Action Which Alters Http Response

Apr 27, 2010

How can I unit test an action which alters the Http Response object? I haven't been able to solve this. I can mock the object but can't see how I can check the value after the action runs. I set the Response.StatusCode when errors occur in ajax requests and need to check it has been set in the unit test. The only alternative I can see is to change all my actions to return json objects with a IsSuccessful flag or similar.

View 5 Replies

MVC :: Unable To Unit Test The Custom Action Filter

Jul 17, 2010

I have a custom actionfilter that strips out the whitespaces before the html is rendered in browser and it is working fine. However I have been unable to unit test the custom action filter. Ideally I want to do an assert on the sample html that all whitespaces have been removed. Code looks something like this.

[Code]....

View 1 Replies

MVC :: Pass ID Value To Home Controller Index Action? (like Www.test.com/23)

Jun 18, 2010

I want to have the following URL pattern in my MVC application:

www.test.com -> display welcome page

www.test.com/5 -> display article with ID 5

I have set up my Home Controller like this:

[Code]....

When I request www.test.com, everything works as expected (the Index action is invoked with the ID parameter set to NULL).

But when I request www.test.com/5 it says: HTTP 404 Resource not found. When I request www.test.com/?id=5 it works.

View 2 Replies

MVC2 Model Binding Does Not POST Back Hidden Values?

Jul 25, 2010

I have a /Register [GET] Action in the controller that pre-poluates a view-model with a string and an integer and returns: return View(myModel);I can see the string being populated in the textarea and the id being populated in a hidden input. Yet when the form gets POSTed, the string value is null and the int value is 0. I verified that both values are posted to the server but the model received in the POST action is missing those values.

View 1 Replies

Want To Try And Test An Action Method On Controller That Itself Tests If IsAjaxRequest() Is True?

May 28, 2010

I'm just starting to use the TestHelpers in MvcContrib. I want to try and test an action method on my controller that itself tests if IsAjaxRequest() is true. I've used the same code that is shown in the TestHelper samples to set up the TestControllerBuilder

_controller = new StarsController();
_builder = new TestControllerBuilder();
_builder.InitializeController(_controller);

So that _controller has all the faked/mocked HttpContext inside it, which is really great. But what do I do now to force IsAjaxRequest() on the internally faked Request object to return true?

View 2 Replies

How To Write MVC2 Validation

Mar 3, 2011

I have this code in my view page.

<td>
Mandate Name:
</td>
<td>
<%= Html.TextBox("MandateName")%>
</td>

I wrote MVC2 Validation for this name.

something like this.

//[Validator(typeof(MandateValidator))]
[MetadataType(typeof(Mandate_Metadata))]
public partial class Mandate {
public class Mandate_Metadata
{.........

View 2 Replies

MVC :: Validation Using MVC2, EF4 Anda MetadataTypes?

Oct 19, 2010

I am using MVC 2 with Entity Framework 4 models and MetadataType classes to create annotations that do not vanish everytime my model is generated... I followed Scott's article to create that.It worked fine for simple classes, but when I got to a more complex one, with regular expression and range validations on doubles, it seemed to simply ignore the validation annotations altogether.

View 5 Replies

Show MVC2 Validation Without Database?

Feb 22, 2011

Can we show MVC2 validation without database, just having the Model?

View 3 Replies

Basic Post To Test Web Service?

Jan 11, 2010

I am working on form, which send input to webservice via post and display result. It must be simple, and it works fine on localhost. But when I try to use it agains live I have error 500.

Here is my code:

WebRequest request = WebRequest.Create("http://localhost:3192/WebServices/Export.asmx/" + uxAction.SelectedValue);
UTF8Encoding encoding = new UTF8Encoding();
byte[] data = encoding.GetBytes(uxRequest.Text);
request.Method = "POST";
request.ContentType = "text/xml; charset=utf-8";
request.ContentLength = data.Length;

[Code]....

View 1 Replies

MVC2 Validation For Dropdown List Boxes?

Nov 22, 2010

link to Implement ASP.net mVC2 validation for my dropdown list boxes in my view?My Dropdown listbox in my view is something like this

<%: Html.DropDownListFor(model => model.SelectedStudent, new SelectList(Model.StudentIDs, "ID", "Name"),"Please select..", new { id="Student", style = "width:190px;" })%>

[code]...

View 1 Replies

JQuery Validation With Data Annotations In MVC2?

Apr 8, 2010

I am trying to make some sense of this validation stuff in MVC2. I followed various walkthroughs, all them for betas/rcs... and I cant' get anythign to happen. Note: THIS JQUERY - NOT THE MS AJAX STUFF!I have referenced MicrosoftMvcJQueryValidation.js which i got got the mvc2 futures lib.

My model is:

[Code]....

The form bit of my ViewPage<User>:

[Code]....

As far as I can see the only additional thing that is being rendered is this:

[Code]....

Which is interesting/annoying for a few reasons. Firstly all of my annotations appear to have been ignored.Secondly FormId isn't even marked as required, and as this rendered text was taken from a page loaded with a null Model (add mode) the FormId field isn't in the form. Finally, this doesn't even result in any actual validation occuring (on the client side). All the server side validation is working fine.See I am using PasswordFor instead of EditorFor. Because someone at MS testing dropped the ball there. Yes EditorFor renders a password field, but it behaves differently to PasswordFor.. the value of the Password field is sent to the client (set in the value
attribute of the field). Fail.

View 8 Replies

MVC2 Custom Editor Template Outer Validation Box?

Oct 4, 2010

I've got a custom Editor Template that is essentially:

<div id="control">
<%: Html.DropDownListFor(model => model.Day, Model.Days)%>
<%: Html.DropDownListFor(model => model.Month, Model.Months)%>
<%: Html.DropDownListFor(model => model.Year, Model.Years)%>
</div>

Whilst my validation is successful/fine with this control (ValidationMessageFor works) I have been unable to find how to highlight the control when validation fails (e.g. with a TextBoxFor the textbox border goes red if validation fails)

Does anyone know how I can add this behaviour with a custom editor template?

View 1 Replies

MVC: Post Dropdown Box Value To Action?

Jan 23, 2011

@using (Html.BeginForm("Index", "Bill"))
{
@Html.Label("FromDate")
@Html.DropDownList("FromDate",Model.DateList)
@Html.Label("ToDate")
@Html.DropDownList("ToDate", Model.DateList)
@Html.ActionLink("Filter", "Index", "Bill") // I want to post to Index
}
[HttpPost]
public ActionResult Index(string fromDate, string toDate)
{
//Process
}

What is the correct way to post the date range to Index action?

What kind of URL do I need to specify?

View 1 Replies

"Failed To Load Source" Posting To MVC2 Action With JQuery

Sep 19, 2010

I am trying to save user feedback by using jquery to post to an action however i am getting the error message "Failed to load source for: http://www.something.com/feedback/savefeedback" this code works fine on localhost but not when put on my shared hosting, this doesnt just affect this query post but also at least one other.

below i have the route from the global.ascx, the action int the FeedBackController and the query that does the post.

routes.MapRoute(
"FeedBack", // Route name
"FeedBack/{action}", // URL with parameters [code]....

View 9 Replies

MVC :: Post Action Model Parameter

Jan 26, 2011

i wonder something about mvc post method. for example I created a view "strongly typed" from a model (MyModel).

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Demo1.Models.MyModel>" %>
for Create actionsthere is two way.
first one takes MyModel as parameter
[HttpPost]
public ActionResult cart(MyModel md, int someID)
{
//some code
//.....
return View(MyModel);
}
second one does not take parameter as model.
[HttpPost]
public ActionResult cart(int someID)
{
//some code
//.....
return View(Mymodel);
}

for first one way, after form post the form values does not delete, I mean form does not cleared,after second one form is be cleared. why this diffirence?

View 5 Replies

MVC :: JQuery Post To An Action Method?

Oct 19, 2010

I'm trying to use the jQuery.post() function to post an object to an action method, but for some reason the nested objects aren't initialised properly when they're received by the action method.

Here's my javascript code:

[Code]....

And my action method:

[Code]....

company.Id has a value of 10, but company.User.Id is 0. what I'm doing wrong? I've not named any properties incorrectly, by the way.

View 1 Replies

MVC :: Htmlbeginform (post) Does Not Fire Action?

Mar 2, 2010

I must miss something obvious here when using htmlbegin form. I noticed that it takes (or tries to take me) right to the view rather than the an action. If I replace SearchAction with SearchResult is goes nicely to the view, not considering the action.

Using SeachAction leads to the error that it cant find the view.

View 12 Replies

MVC :: Redirect To Post Method/Action?

Mar 28, 2011

I have an ActionResult that accepts POST, however is there a work around for me to redirect from a controller to another controller containing this POST method/action?

View 3 Replies

C# - Change Action Of Checkbox To Get Instead Of Post?

Mar 26, 2010

We have an ASP.Net page that uses a checkbox to toggle between a list view and a tree view. The problem is that this triggers a post. When we then click on one of the documents in the list, then press back in the browser, we get a page expired error. Is it possible to change the action of the check box to trigger a get with a parameter?

View 1 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved