Skip to content

Commit

Permalink
Fixed some merge conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
analogrelay committed Oct 7, 2013
1 parent 0dac911 commit b4f0467
Show file tree
Hide file tree
Showing 6 changed files with 7 additions and 171 deletions.
2 changes: 1 addition & 1 deletion src/NuGetGallery/Controllers/PackagesController.cs
Expand Up @@ -515,7 +515,7 @@ public virtual ActionResult ContactOwners(string id, ContactOwnersViewModel cont
return HttpNotFound();
}

var user = _userService.FindByUsername(_currentUser.Identity.Name);
var user = _userService.FindByUsername(User.Identity.Name);
var fromAddress = new MailAddress(user.EmailAddress, user.Username);
_messageService.SendContactOwnersMessage(
fromAddress, package, contactForm.Message, Url.Action(MVC.Users.Edit(), protocol: Request.Url.Scheme));
Expand Down
2 changes: 1 addition & 1 deletion src/NuGetGallery/ViewModels/ConfirmationViewModel.cs
Expand Up @@ -14,4 +14,4 @@ public class ConfirmationViewModel

public bool DuplicateEmailAddress { get; set; }
}
}
}
8 changes: 4 additions & 4 deletions src/NuGetGallery/Views/Users/Confirm.cshtml
Expand Up @@ -43,8 +43,8 @@ else
<p>
Please check that you used the link from the confirmation email we sent.
</p>
<p>
<a href="@Url.ConfirmationRequired()" >Resend confirmation email.</a>
</p>
}
}
<p>
<a href="@Url.ConfirmationRequired()" >Resend confirmation email.</a>
</p>
}
Expand Up @@ -545,7 +545,7 @@ public void CallsSendContactOwnersMessageWithUserInfo()
var httpContext = new Mock<HttpContextBase>();
httpContext.Setup(h => h.User.Identity.Name).Returns("Montgomery");
var userService = new Mock<IUserService>();
userService.Setup(u => u.FindByUsername(Fakes.User.Username)).Returns(
userService.Setup(u => u.FindByUsername("Montgomery")).Returns(
new User { EmailAddress = "montgomery@burns.example.com", Username = "Montgomery" });
var controller = CreateController(
packageService: packageService,
Expand Down
163 changes: 0 additions & 163 deletions tests/NuGetGallery.Facts/Controllers/UsersControllerFacts.cs
Expand Up @@ -137,169 +137,6 @@ public void WillUseApiKeyInCredentialIfPresent()
}
}

public class TheConfirmMethod : TestContainer
{
[Fact]
public void Returns403ForbiddenWhenAuthenticatedAsWrongUser()
{
var controller = GetController<UsersController>();
controller.SetUser(Fakes.User);

var result = controller.Confirm("wrongUsername", "someToken");

ResultAssert.IsStatusCode(result, 403, "You are not logged in as the correct user to perform this action.");
}

[Fact]
public void Returns404WhenTokenIsEmpty()
{
var controller = GetController<UsersController>();
controller.SetUser(Fakes.User);

var result = controller.Confirm(Fakes.User.Username, "");

ResultAssert.IsStatusCode(result, 404);
}

[Fact]
public void ReturnsConfirmedWhenTokenMatchesUser()
{
var user = new User
{
Username = "username",
UnconfirmedEmailAddress = "email@example.com",
EmailConfirmationToken = "the-token"
};
var controller = GetController<UsersController>();
controller.SetUser(user);

GetMock<IUserService>()
.Setup(u => u.FindByUsername("username"))
.Returns(user);
GetMock<IUserService>()
.Setup(u => u.ConfirmEmailAddress(user, "the-token"))
.Returns(true);

var model = (controller.Confirm("username", "the-token") as ViewResult).Model as ConfirmationViewModel;

Assert.True(model.SuccessfulConfirmation);
}

[Fact]
public void SendsAccountChangedNoticeWhenConfirmingChangedEmail()
{
var user = new User
{
Username = "username",
EmailAddress = "old@example.com",
UnconfirmedEmailAddress = "new@example.com",
EmailConfirmationToken = "the-token"
};
var controller = GetController<UsersController>();
controller.SetUser(user);

GetMock<IUserService>()
.Setup(u => u.FindByUsername("username"))
.Returns(user);
GetMock<IUserService>()
.Setup(u => u.ConfirmEmailAddress(user, "the-token"))
.Returns(true);

var model = (controller.Confirm("username", "the-token") as ViewResult).Model as ConfirmationViewModel;

Assert.True(model.SuccessfulConfirmation);
Assert.False(model.ConfirmingNewAccount);
GetMock<IMessageService>()
.Verify(m => m.SendEmailChangeNoticeToPreviousEmailAddress(user, "old@example.com"));
}

[Fact]
public void DoesntSendAccountChangedEmailsWhenNoOldConfirmedAddress()
{
var user = new User
{
Username = "username",
EmailAddress = null,
UnconfirmedEmailAddress = "new@example.com",
EmailConfirmationToken = "the-token"
};
var controller = GetController<UsersController>();
GetMock<IUserService>()
.Setup(u => u.FindByUsername("username"))
.Returns(user);
GetMock<IUserService>()
.Setup(u => u.ConfirmEmailAddress(user, "the-token"))
.Returns(true);
controller.SetUser(user);

// act:
var model = (controller.Confirm("username", "the-token") as ViewResult).Model as ConfirmationViewModel;

// verify:
Assert.True(model.SuccessfulConfirmation);
Assert.True(model.ConfirmingNewAccount);
GetMock<IMessageService>()
.Verify(m => m.SendEmailChangeConfirmationNotice(It.IsAny<MailAddress>(), It.IsAny<string>()), Times.Never());
GetMock<IMessageService>()
.Verify(m => m.SendEmailChangeNoticeToPreviousEmailAddress(It.IsAny<User>(), It.IsAny<string>()), Times.Never());
}

[Fact]
public void DoesntSendAccountChangedEmailsIfConfirmationTokenDoesntMatch()
{
var user = new User
{
Username = "username",
EmailAddress = "old@example.com",
UnconfirmedEmailAddress = "new@example.com",
EmailConfirmationToken = "the-token"
};
var controller = GetController<UsersController>();
controller.SetUser(user);
GetMock<IUserService>()
.Setup(u => u.FindByUsername(It.IsAny<string>()))
.Returns(user);
GetMock<IUserService>()
.Setup(u => u.ConfirmEmailAddress(user, "faketoken"))
.Returns(false);

// act:
var model = (controller.Confirm("username", "faketoken") as ViewResult).Model as ConfirmationViewModel;

// verify:
Assert.False(model.SuccessfulConfirmation);
Assert.False(model.ConfirmingNewAccount);
GetMock<IMessageService>()
.Verify(m => m.SendEmailChangeConfirmationNotice(It.IsAny<MailAddress>(), It.IsAny<string>()), Times.Never());
GetMock<IMessageService>()
.Verify(m => m.SendEmailChangeNoticeToPreviousEmailAddress(It.IsAny<User>(), It.IsAny<string>()), Times.Never());
}

[Fact]
public void ReturnsFalseWhenTokenDoesNotMatchUser()
{
var user = new User
{
Username = "username",
EmailAddress = "old@example.com",
UnconfirmedEmailAddress = "new@example.com",
EmailConfirmationToken = "the-token"
};
var controller = GetController<UsersController>();
controller.SetUser(user);
GetMock<IUserService>()
.Setup(u => u.FindByUsername("username"))
.Returns(user);
GetMock<IUserService>()
.Setup(u => u.ConfirmEmailAddress(user, "not-the-token"))
.Returns(false);

var model = (controller.Confirm("username", "not-the-token") as ViewResult).Model as ConfirmationViewModel;

Assert.False(model.SuccessfulConfirmation);
}
}

public class TheEditMethod : TestContainer
{
[Fact]
Expand Down
1 change: 0 additions & 1 deletion tests/NuGetGallery.Facts/TestUtils/MockExtensions.cs
Expand Up @@ -3,7 +3,6 @@
using System.Collections.Generic;
using System.Linq;
using Moq;
using Moq.Language.Flow;

namespace NuGetGallery
{
Expand Down

0 comments on commit b4f0467

Please sign in to comment.