#17340: Fixing users list refresh on bulk actions

Work Items: 17340

--HG--
branch : 1.x
This commit is contained in:
Sebastien Ros
2011-03-28 16:25:11 -07:00
parent 71631d3ef5
commit 3e58074473
3 changed files with 460 additions and 370 deletions

View File

@@ -150,6 +150,32 @@ Scenario: I should not be able to reuse an existing username or email
And I hit "Save"
Then I should see "User with that username and/or email already exists."
@management
Scenario: I should be able to remove an existing user
Given I have installed Orchard
When I go to "admin/users"
# create user1
And I follow "Add a new user"
And I fill in
| name | value |
| UserName | user1 |
| Email | user1@domain.com |
| Password | a12345! |
| ConfirmPassword | a12345! |
And I hit "Save"
And I am redirected
Then I should see "<a[^>]*>user1</a>"
# filtering on 'user1' to have only one Delete link to follow
When I fill in
| name | value |
| Options.Search | user1 |
And I hit "Filter"
Then I should see "<a[^>]*>user1</a>"
When I follow "Delete"
And I am redirected
Then I should see "User user1 deleted"
And I should not see "<a[^>]*>user1</a>"
@filtering
Scenario: I should not be able to filter users by name
Given I have installed Orchard

View File

@@ -2,7 +2,7 @@
// <auto-generated>
// This code was generated by SpecFlow (http://www.specflow.org/).
// SpecFlow Version:1.5.0.0
// Runtime Version:4.0.30319.1
// Runtime Version:4.0.30319.225
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -436,12 +436,12 @@ this.ScenarioSetup(scenarioInfo);
}
[NUnit.Framework.TestAttribute()]
[NUnit.Framework.DescriptionAttribute("I should not be able to filter users by name")]
[NUnit.Framework.CategoryAttribute("filtering")]
public virtual void IShouldNotBeAbleToFilterUsersByName()
[NUnit.Framework.DescriptionAttribute("I should be able to remove an existing user")]
[NUnit.Framework.CategoryAttribute("management")]
public virtual void IShouldBeAbleToRemoveAnExistingUser()
{
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I should not be able to filter users by name", new string[] {
"filtering"});
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I should be able to remove an existing user", new string[] {
"management"});
#line 154
this.ScenarioSetup(scenarioInfo);
#line 155
@@ -472,84 +472,148 @@ this.ScenarioSetup(scenarioInfo);
testRunner.And("I hit \"Save\"");
#line 166
testRunner.And("I am redirected");
#line 168
testRunner.And("I follow \"Add a new user\"");
#line 167
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line hidden
TechTalk.SpecFlow.Table table14 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table14.AddRow(new string[] {
"UserName",
"user2"});
table14.AddRow(new string[] {
"Email",
"user2@domain.com"});
table14.AddRow(new string[] {
"Password",
"a12345!"});
table14.AddRow(new string[] {
"ConfirmPassword",
"a12345!"});
"Options.Search",
"user1"});
#line 169
testRunner.And("I fill in", ((string)(null)), table14);
#line 175
testRunner.And("I hit \"Save\"");
#line 176
testRunner.And("I am redirected");
#line 177
testRunner.When("I fill in", ((string)(null)), table14);
#line 172
testRunner.And("I hit \"Filter\"");
#line 173
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line 178
testRunner.And("I should see \"<a[^>]*>user2</a>\"");
#line 174
testRunner.When("I follow \"Delete\"");
#line 175
testRunner.And("I am redirected");
#line 176
testRunner.Then("I should see \"User user1 deleted\"");
#line 177
testRunner.And("I should not see \"<a[^>]*>user1</a>\"");
#line hidden
testRunner.CollectScenarioErrors();
}
[NUnit.Framework.TestAttribute()]
[NUnit.Framework.DescriptionAttribute("I should not be able to filter users by name")]
[NUnit.Framework.CategoryAttribute("filtering")]
public virtual void IShouldNotBeAbleToFilterUsersByName()
{
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I should not be able to filter users by name", new string[] {
"filtering"});
#line 180
this.ScenarioSetup(scenarioInfo);
#line 181
testRunner.Given("I have installed Orchard");
#line 182
testRunner.When("I go to \"admin/users\"");
#line 184
testRunner.And("I follow \"Add a new user\"");
#line hidden
TechTalk.SpecFlow.Table table15 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table15.AddRow(new string[] {
"Options.Search",
"UserName",
"user1"});
#line 179
testRunner.When("I fill in", ((string)(null)), table15);
#line 182
testRunner.And("I hit \"Filter\"");
#line 183
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line 184
testRunner.And("I should not see \"<a[^>]*>admin</a>\"");
table15.AddRow(new string[] {
"Email",
"user1@domain.com"});
table15.AddRow(new string[] {
"Password",
"a12345!"});
table15.AddRow(new string[] {
"ConfirmPassword",
"a12345!"});
#line 185
testRunner.And("I should not see \"<a[^>]*>user2</a>\"");
testRunner.And("I fill in", ((string)(null)), table15);
#line 191
testRunner.And("I hit \"Save\"");
#line 192
testRunner.And("I am redirected");
#line 194
testRunner.And("I follow \"Add a new user\"");
#line hidden
TechTalk.SpecFlow.Table table16 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table16.AddRow(new string[] {
"Options.Search",
"user1@domain.com"});
#line 186
testRunner.When("I fill in", ((string)(null)), table16);
#line 189
testRunner.And("I hit \"Filter\"");
#line 190
"UserName",
"user2"});
table16.AddRow(new string[] {
"Email",
"user2@domain.com"});
table16.AddRow(new string[] {
"Password",
"a12345!"});
table16.AddRow(new string[] {
"ConfirmPassword",
"a12345!"});
#line 195
testRunner.And("I fill in", ((string)(null)), table16);
#line 201
testRunner.And("I hit \"Save\"");
#line 202
testRunner.And("I am redirected");
#line 203
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line 191
testRunner.And("I should not see \"<a[^>]*>admin</a>\"");
#line 192
testRunner.And("I should not see \"<a[^>]*>user2</a>\"");
#line 204
testRunner.And("I should see \"<a[^>]*>user2</a>\"");
#line hidden
TechTalk.SpecFlow.Table table17 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table17.AddRow(new string[] {
"Options.Search",
"@domain.com"});
#line 193
"user1"});
#line 205
testRunner.When("I fill in", ((string)(null)), table17);
#line 196
#line 208
testRunner.And("I hit \"Filter\"");
#line 197
#line 209
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line 198
#line 210
testRunner.And("I should not see \"<a[^>]*>admin</a>\"");
#line 211
testRunner.And("I should not see \"<a[^>]*>user2</a>\"");
#line hidden
TechTalk.SpecFlow.Table table18 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table18.AddRow(new string[] {
"Options.Search",
"user1@domain.com"});
#line 212
testRunner.When("I fill in", ((string)(null)), table18);
#line 215
testRunner.And("I hit \"Filter\"");
#line 216
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line 217
testRunner.And("I should not see \"<a[^>]*>admin</a>\"");
#line 218
testRunner.And("I should not see \"<a[^>]*>user2</a>\"");
#line hidden
TechTalk.SpecFlow.Table table19 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table19.AddRow(new string[] {
"Options.Search",
"@domain.com"});
#line 219
testRunner.When("I fill in", ((string)(null)), table19);
#line 222
testRunner.And("I hit \"Filter\"");
#line 223
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line 224
testRunner.And("I should see \"<a[^>]*>user2</a>\"");
#line 199
#line 225
testRunner.And("I should not see \"<a[^>]*>admin</a>\"");
#line hidden
testRunner.CollectScenarioErrors();
@@ -562,150 +626,150 @@ this.ScenarioSetup(scenarioInfo);
{
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I should be able to filter users by status", new string[] {
"filtering"});
#line 202
#line 228
this.ScenarioSetup(scenarioInfo);
#line 203
#line 229
testRunner.Given("I have installed Orchard");
#line 204
#line 230
testRunner.When("I go to \"admin/users\"");
#line 206
#line 232
testRunner.And("I follow \"Add a new user\"");
#line hidden
TechTalk.SpecFlow.Table table18 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table18.AddRow(new string[] {
"UserName",
"user1"});
table18.AddRow(new string[] {
"Email",
"user1@domain.com"});
table18.AddRow(new string[] {
"Password",
"a12345!"});
table18.AddRow(new string[] {
"ConfirmPassword",
"a12345!"});
#line 207
testRunner.And("I fill in", ((string)(null)), table18);
#line 213
testRunner.And("I hit \"Save\"");
#line 214
testRunner.And("I am redirected");
#line 216
testRunner.And("I follow \"Add a new user\"");
#line hidden
TechTalk.SpecFlow.Table table19 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table19.AddRow(new string[] {
"UserName",
"user2"});
table19.AddRow(new string[] {
"Email",
"user2@domain.com"});
table19.AddRow(new string[] {
"Password",
"a12345!"});
table19.AddRow(new string[] {
"ConfirmPassword",
"a12345!"});
#line 217
testRunner.And("I fill in", ((string)(null)), table19);
#line 223
testRunner.And("I hit \"Save\"");
#line 224
testRunner.And("I am redirected");
#line 225
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line 226
testRunner.And("I should see \"<a[^>]*>user2</a>\"");
#line hidden
TechTalk.SpecFlow.Table table20 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table20.AddRow(new string[] {
"Options.Search",
"UserName",
"user1"});
#line 227
testRunner.When("I fill in", ((string)(null)), table20);
#line 230
testRunner.And("I hit \"Filter\"");
#line 231
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line 232
testRunner.When("I follow \"Disable\"");
table20.AddRow(new string[] {
"Email",
"user1@domain.com"});
table20.AddRow(new string[] {
"Password",
"a12345!"});
table20.AddRow(new string[] {
"ConfirmPassword",
"a12345!"});
#line 233
testRunner.And("I fill in", ((string)(null)), table20);
#line 239
testRunner.And("I hit \"Save\"");
#line 240
testRunner.And("I am redirected");
#line 234
testRunner.Then("I should see \"User user1 disabled\"");
#line 242
testRunner.And("I follow \"Add a new user\"");
#line hidden
TechTalk.SpecFlow.Table table21 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table21.AddRow(new string[] {
"Options.Filter",
"Pending"});
#line 235
testRunner.When("I fill in", ((string)(null)), table21);
#line 238
testRunner.And("I hit \"Filter\"");
#line 239
"UserName",
"user2"});
table21.AddRow(new string[] {
"Email",
"user2@domain.com"});
table21.AddRow(new string[] {
"Password",
"a12345!"});
table21.AddRow(new string[] {
"ConfirmPassword",
"a12345!"});
#line 243
testRunner.And("I fill in", ((string)(null)), table21);
#line 249
testRunner.And("I hit \"Save\"");
#line 250
testRunner.And("I am redirected");
#line 251
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line 240
testRunner.And("I should not see \"<a[^>]*>user2</a>\"");
#line 241
testRunner.And("I should not see \"<a[^>]*>admin</a>\"");
#line 252
testRunner.And("I should see \"<a[^>]*>user2</a>\"");
#line hidden
TechTalk.SpecFlow.Table table22 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table22.AddRow(new string[] {
"Options.Filter",
"EmailPending"});
#line 242
"Options.Search",
"user1"});
#line 253
testRunner.When("I fill in", ((string)(null)), table22);
#line 245
#line 256
testRunner.And("I hit \"Filter\"");
#line 246
testRunner.Then("I should not see \"<a[^>]*>user1</a>\"");
#line 247
testRunner.And("I should not see \"<a[^>]*>user2</a>\"");
#line 248
testRunner.And("I should not see \"<a[^>]*>admin</a>\"");
#line 257
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line 258
testRunner.When("I follow \"Disable\"");
#line 259
testRunner.And("I am redirected");
#line 260
testRunner.Then("I should see \"User user1 disabled\"");
#line hidden
TechTalk.SpecFlow.Table table23 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table23.AddRow(new string[] {
"Options.Filter",
"Approved"});
#line 249
"Pending"});
#line 261
testRunner.When("I fill in", ((string)(null)), table23);
#line 252
#line 264
testRunner.And("I hit \"Filter\"");
#line 253
testRunner.Then("I should not see \"<a[^>]*>user1</a>\"");
#line 254
testRunner.And("I should see \"<a[^>]*>user2</a>\"");
#line 255
testRunner.And("I should see \"<a[^>]*>admin</a>\"");
#line 265
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line 266
testRunner.And("I should not see \"<a[^>]*>user2</a>\"");
#line 267
testRunner.And("I should not see \"<a[^>]*>admin</a>\"");
#line hidden
TechTalk.SpecFlow.Table table24 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table24.AddRow(new string[] {
"Options.Filter",
"All"});
#line 256
"EmailPending"});
#line 268
testRunner.When("I fill in", ((string)(null)), table24);
#line 259
#line 271
testRunner.And("I hit \"Filter\"");
#line 260
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line 261
#line 272
testRunner.Then("I should not see \"<a[^>]*>user1</a>\"");
#line 273
testRunner.And("I should not see \"<a[^>]*>user2</a>\"");
#line 274
testRunner.And("I should not see \"<a[^>]*>admin</a>\"");
#line hidden
TechTalk.SpecFlow.Table table25 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table25.AddRow(new string[] {
"Options.Filter",
"Approved"});
#line 275
testRunner.When("I fill in", ((string)(null)), table25);
#line 278
testRunner.And("I hit \"Filter\"");
#line 279
testRunner.Then("I should not see \"<a[^>]*>user1</a>\"");
#line 280
testRunner.And("I should see \"<a[^>]*>user2</a>\"");
#line 262
#line 281
testRunner.And("I should see \"<a[^>]*>admin</a>\"");
#line hidden
TechTalk.SpecFlow.Table table26 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table26.AddRow(new string[] {
"Options.Filter",
"All"});
#line 282
testRunner.When("I fill in", ((string)(null)), table26);
#line 285
testRunner.And("I hit \"Filter\"");
#line 286
testRunner.Then("I should see \"<a[^>]*>user1</a>\"");
#line 287
testRunner.And("I should see \"<a[^>]*>user2</a>\"");
#line 288
testRunner.And("I should see \"<a[^>]*>admin</a>\"");
#line hidden
testRunner.CollectScenarioErrors();
@@ -718,35 +782,35 @@ this.ScenarioSetup(scenarioInfo);
{
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I should not be able to add users with invalid email addresses", new string[] {
"email"});
#line 264
#line 290
this.ScenarioSetup(scenarioInfo);
#line 265
#line 291
testRunner.Given("I have installed Orchard");
#line 266
#line 292
testRunner.When("I go to \"admin/users\"");
#line 267
#line 293
testRunner.And("I follow \"Add a new user\"");
#line hidden
TechTalk.SpecFlow.Table table25 = new TechTalk.SpecFlow.Table(new string[] {
TechTalk.SpecFlow.Table table27 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table25.AddRow(new string[] {
table27.AddRow(new string[] {
"UserName",
"user1"});
table25.AddRow(new string[] {
table27.AddRow(new string[] {
"Email",
"NotAnEmail"});
table25.AddRow(new string[] {
table27.AddRow(new string[] {
"Password",
"a12345!"});
table25.AddRow(new string[] {
table27.AddRow(new string[] {
"ConfirmPassword",
"a12345!"});
#line 268
testRunner.And("I fill in", ((string)(null)), table25);
#line 274
#line 294
testRunner.And("I fill in", ((string)(null)), table27);
#line 300
testRunner.And("I hit \"Save\"");
#line 275
#line 301
testRunner.Then("I should see \"You must specify a valid email address.\"");
#line hidden
testRunner.CollectScenarioErrors();
@@ -759,37 +823,37 @@ this.ScenarioSetup(scenarioInfo);
{
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I should be able to add users with valid email addresses", new string[] {
"email"});
#line 277
#line 303
this.ScenarioSetup(scenarioInfo);
#line 278
#line 304
testRunner.Given("I have installed Orchard");
#line 279
#line 305
testRunner.When("I go to \"admin/users\"");
#line 280
#line 306
testRunner.And("I follow \"Add a new user\"");
#line hidden
TechTalk.SpecFlow.Table table26 = new TechTalk.SpecFlow.Table(new string[] {
TechTalk.SpecFlow.Table table28 = new TechTalk.SpecFlow.Table(new string[] {
"name",
"value"});
table26.AddRow(new string[] {
table28.AddRow(new string[] {
"UserName",
"user1"});
table26.AddRow(new string[] {
table28.AddRow(new string[] {
"Email",
"user1@domain.com"});
table26.AddRow(new string[] {
table28.AddRow(new string[] {
"Password",
"a12345!"});
table26.AddRow(new string[] {
table28.AddRow(new string[] {
"ConfirmPassword",
"a12345!"});
#line 281
testRunner.And("I fill in", ((string)(null)), table26);
#line 287
#line 307
testRunner.And("I fill in", ((string)(null)), table28);
#line 313
testRunner.And("I hit \"Save\"");
#line 288
#line 314
testRunner.And("I am redirected");
#line 289
#line 315
testRunner.Then("I should see \"User created\"");
#line hidden
testRunner.CollectScenarioErrors();

View File

@@ -143,7 +143,7 @@ namespace Orchard.Users.Controllers {
break;
}
return Index(viewModel.Options, new PagerParameters());
return RedirectToAction("Index", ControllerContext.RouteData.Values);
}
public ActionResult Create() {