public async Task LoginAsRegisteredUserAsync() { //Prepare Mock<LoginStatusChangedEvent> loginStatusChangedEvent = new Mock<LoginStatusChangedEvent>(); loginStatusChangedEvent.Setup(x => x.Publish(It.IsAny<IUserService>())).Verifiable(); Mock<IEventAggregator> eventAggregator = new Mock<IEventAggregator>(); eventAggregator.Setup(x => x.GetEvent<LoginStatusChangedEvent>()).Returns(loginStatusChangedEvent.Object); string user = "******"; char[] pass = "******".ToCharArray(); SecureString password = new SecureString(); foreach (char c in pass) { password.AppendChar(c); } //Act IUserService target = new BattlenetService(eventAggregator.Object); UserQueryResult result = await target.LoginAsync(user, password); //Verify Assert.AreEqual(user, target.CurrentUser.Username); Assert.IsTrue(target.IsLoggedIn); Assert.IsTrue(result.Success); Assert.AreEqual(OnlineStatuses.Online, target.OnlineStatus); loginStatusChangedEvent.VerifyAll(); }
public void WhenConstructed_InitializesValues() { //Prepare var loginStatusChangedEvent = new Mock<LoginStatusChangedEvent>(); Mock<IEventAggregator> eventAggregator = new Mock<IEventAggregator>(); eventAggregator.Setup(x => x.GetEvent<LoginStatusChangedEvent>()).Returns(loginStatusChangedEvent.Object); //Act IUserService target = new BattlenetService(eventAggregator.Object); //Verify Assert.IsNull(target.CurrentUser); Assert.IsFalse(target.IsLoggedIn); Assert.AreEqual(OnlineStatuses.Offline, target.OnlineStatus); Assert.IsNotNull(target.GameRegions); Assert.IsNotNull(target.HomeRegion); }
public void LoginWithUnregisteredUser() { //Prepare Mock<LoginStatusChangedEvent> loginStatusChangedEvent = new Mock<LoginStatusChangedEvent>(); loginStatusChangedEvent.Setup(x => x.Publish(It.IsAny<IUserService>())).Verifiable(); Mock<IEventAggregator> eventAggregator = new Mock<IEventAggregator>(); eventAggregator.Setup(x => x.GetEvent<LoginStatusChangedEvent>()).Returns(loginStatusChangedEvent.Object); string user = "******"; char[] pass = "******".ToCharArray(); SecureString password = new SecureString(); foreach (char c in pass) { password.AppendChar(c); } //Act IUserService target = new BattlenetService(eventAggregator.Object); UserQueryResult result = target.Login(user, password); //Verify Assert.IsNull(target.CurrentUser); Assert.IsFalse(target.IsLoggedIn); Assert.IsFalse(result.Success); Assert.AreEqual(UserQueryResult.ResultCode.LogginFailed, result.Code); loginStatusChangedEvent.Verify(x => x.Publish(It.IsAny<IUserService>()), Times.Never); }