public void WhenExecutingTheReplyCommand_ThenNavigatesToComposeEmailViewWithId() { var email = new EmailDocument(); var emailServiceMock = new Mock <IEmailService>(); AsyncCallback callback = null; var asyncResultMock = new Mock <IAsyncResult>(); emailServiceMock .Setup(svc => svc.BeginGetEmailDocuments(It.IsAny <AsyncCallback>(), null)) .Callback <AsyncCallback, object>((ac, o) => callback = ac) .Returns(asyncResultMock.Object); emailServiceMock .Setup(svc => svc.EndGetEmailDocuments(asyncResultMock.Object)) .Returns(new[] { email }); Mock <IRegionManager> regionManagerMock = new Mock <IRegionManager>(); regionManagerMock.Setup(x => x.RequestNavigate(RegionNames.MainContentRegion, @"ComposeEmailView?ReplyTo=" + email.Id.ToString("N"))) .Verifiable(); EmailDocument[] emails = new EmailDocument[] { email }; var viewModel = new TestInboxViewModel(emailServiceMock.Object, regionManagerMock.Object, emails); Assert.IsFalse(viewModel.Messages.IsEmpty); viewModel.Messages.MoveCurrentToFirst(); viewModel.ReplyMessageCommand.Execute(null); regionManagerMock.VerifyAll(); }
public void WhenExecutingTheReplyCommand_ThenNavigatesToComposeEmailViewWithId() { var email = new EmailDocument(); EmailDocument[] emails = new EmailDocument[] { email }; var emailServiceMock = new Mock<IEmailService>(); var asyncResultMock = new Mock<IAsyncResult>(); emailServiceMock .Setup(svc => svc.GetEmailDocumentsAsync()) .Returns(Task.FromResult(emails.AsEnumerable())); Mock<IRegionManager> regionManagerMock = new Mock<IRegionManager>(); regionManagerMock.Setup(x => x.RequestNavigate(RegionNames.MainContentRegion, @"ComposeEmailView?ReplyTo=" + email.Id.ToString("N"))) .Verifiable(); var viewModel = new TestInboxViewModel(emailServiceMock.Object, regionManagerMock.Object, emails); Assert.IsFalse(viewModel.Messages.IsEmpty); viewModel.Messages.MoveCurrentToFirst(); viewModel.ReplyMessageCommand.Execute(null); regionManagerMock.VerifyAll(); }
public void WhenExecutingTheReplyCommand_ThenNavigatesToComposeEmailViewWithId() { var email = new EmailDocument(); EmailDocument[] emails = new EmailDocument[] { email }; var emailServiceMock = new Mock <IEmailService>(); var asyncResultMock = new Mock <IAsyncResult>(); emailServiceMock .Setup(svc => svc.GetEmailDocumentsAsync()) .Returns(Task.FromResult(emails.AsEnumerable())); Mock <IRegionManager> regionManagerMock = new Mock <IRegionManager>(); regionManagerMock.Setup(x => x.RequestNavigate(RegionNames.MainContentRegion, @"ComposeEmailView?ReplyTo=" + email.Id.ToString("N"))) .Verifiable(); var viewModel = new TestInboxViewModel(emailServiceMock.Object, regionManagerMock.Object, emails); Assert.IsFalse(viewModel.Messages.IsEmpty); viewModel.Messages.MoveCurrentToFirst(); viewModel.ReplyMessageCommand.Execute(null); regionManagerMock.VerifyAll(); }
public void WhenExecutingTheReplyCommand_ThenNavigatesToComposeEmailViewWithId() { var email = new EmailDocument(); var emailServiceMock = new Mock<IEmailService>(); AsyncCallback callback = null; var asyncResultMock = new Mock<IAsyncResult>(); emailServiceMock .Setup(svc => svc.BeginGetEmailDocuments(It.IsAny<AsyncCallback>(), null)) .Callback<AsyncCallback, object>((ac, o) => callback = ac) .Returns(asyncResultMock.Object); emailServiceMock .Setup(svc => svc.EndGetEmailDocuments(asyncResultMock.Object)) .Returns(new[] { email }); Mock<IRegion> regionMock = new Mock<IRegion>(); regionMock .Setup(x => x.RequestNavigate(new Uri(@"ComposeEmailView?ReplyTo=" + email.Id.ToString("N"), UriKind.Relative), It.IsAny<Action<NavigationResult>>())) .Callback<Uri, Action<NavigationResult>>((s, c) => c(new NavigationResult(null, true))) .Verifiable(); Mock<IRegionManager> regionManagerMock = new Mock<IRegionManager>(); regionManagerMock.Setup(x => x.Regions.ContainsRegionWithName(RegionNames.MainContentRegion)).Returns(true); regionManagerMock.Setup(x => x.Regions[RegionNames.MainContentRegion]).Returns(regionMock.Object); EmailDocument[] emails = new EmailDocument[]{ email }; var viewModel = new TestInboxViewModel(emailServiceMock.Object, regionManagerMock.Object, emails); Assert.IsFalse(viewModel.Messages.IsEmpty); viewModel.Messages.MoveCurrentToFirst(); viewModel.ReplyMessageCommand.Execute(null); regionMock.VerifyAll(); }