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 RegisterExistingUser() { //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.Register(user, password); //Verify Assert.IsNull(target.CurrentUser); Assert.IsFalse(target.IsLoggedIn); Assert.IsFalse(result.Success); loginStatusChangedEvent.Verify(x => x.Publish(It.IsAny <IUserService>()), Times.Never); }
public async Task LoginWithUnregisteredUserAsync() { //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.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); }
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); }