public async Task Builds_Empty_List() { var toBot = this.Fixture.CreateMessage(); toBot.Text = "builds"; var profile = this.Fixture.CreateProfile(); var data = new UserData { Account = "anaccount", TeamProject = "anteamproject" }; data.Profiles.Add(profile); var buildDefinitions = new List <BuildDefinitionReference>(); var target = new BuildsDialog(this.Fixture.AuthenticationService.Object, this.Fixture.VstsService.Object); this.Fixture.UserData .Setup(ud => ud.TryGetValue("userData", out data)) .Returns(true); this.Fixture.VstsService .Setup(s => s.GetBuildDefinitionsAsync(data.Account, data.TeamProject, profile.Token)) .ReturnsAsync(buildDefinitions); await target.BuildsAsync(this.Fixture.DialogContext.Object, this.Fixture.MakeAwaitable(toBot)); this.Fixture.VstsService.VerifyAll(); this.Fixture.DialogContext.Verify(c => c.PostAsync(It.IsAny <IMessageActivity>(), CancellationToken.None)); this.Fixture.DialogContext.Verify(c => c.Done(It.IsAny <IMessageActivity>())); }
public async Task Builds_No_Text() { var toBot = this.Fixture.CreateMessage(); toBot.Text = null; var target = new BuildsDialog(this.Fixture.VstsService.Object); await target.BuildsAsync(this.Fixture.DialogContext.Object, this.Fixture.MakeAwaitable(toBot)); this.Fixture.DialogContext.Verify(c => c.Fail(It.IsAny <UnknownCommandException>())); }
public async Task Builds() { var toBot = this.Fixture.CreateMessage(); toBot.Text = "builds"; var account = "anaccount"; var profile = this.Fixture.CreateProfile(); var teamProject = "anteamproject"; var buildDefinitions = new List <BuildDefinitionReference> { new BuildDefinitionReference { Name = "Build 1" } }; var target = new BuildsDialog(this.Fixture.VstsService.Object, this.Fixture.VstsApplicationRegistry.Object); this.Fixture.UserData .Setup(ud => ud.TryGetValue("Account", out account)) .Returns(true); this.Fixture.UserData .Setup(ud => ud.TryGetValue("Profile", out profile)) .Returns(true); this.Fixture.UserData .Setup(ud => ud.TryGetValue("TeamProject", out teamProject)) .Returns(true); this.Fixture.VstsService .Setup(s => s.GetBuildDefinitionsAsync(account, teamProject, profile.Token)) .ReturnsAsync(buildDefinitions); var applicationMock = new Mock <IVstsApplication>(); applicationMock .Setup(application => application.AuthenticationService) .Returns(new Mock <IAuthenticationService>().Object); this.Fixture.VstsApplicationRegistry .Setup(registry => registry.GetVstsApplicationRegistration(It.IsAny <string>())) .Returns(applicationMock.Object); await target.BuildsAsync(this.Fixture.DialogContext.Object, this.Fixture.MakeAwaitable(toBot)); this.Fixture.VstsService.VerifyAll(); this.Fixture.DialogContext.Verify(c => c.PostAsync(It.IsAny <IMessageActivity>(), CancellationToken.None)); this.Fixture.DialogContext.Verify(c => c.Wait <IMessageActivity>(target.QueueAsync)); }
public async Task Builds_No_Text() { var toBot = this.Fixture.CreateMessage(); toBot.Text = null; var target = new BuildsDialog(this.Fixture.VstsService.Object, this.Fixture.VstsApplicationRegistry.Object); var applicationMock = new Mock <IVstsApplication>(); applicationMock .Setup(application => application.AuthenticationService) .Returns(new Mock <IAuthenticationService>().Object); this.Fixture.VstsApplicationRegistry .Setup(registry => registry.GetVstsApplicationRegistration(It.IsAny <string>())) .Returns(applicationMock.Object); await target.BuildsAsync(this.Fixture.DialogContext.Object, this.Fixture.MakeAwaitable(toBot)); this.Fixture.DialogContext.Verify(c => c.Fail(It.IsAny <UnknownCommandException>())); }
public async Task Builds_Missing_Awaitable() { var target = new BuildsDialog(this.Fixture.AuthenticationService.Object, this.Fixture.VstsService.Object); await Assert.ThrowsExceptionAsync <ArgumentNullException>(async() => await target.BuildsAsync(this.Fixture.DialogContext.Object, null)); }
public async Task Builds_Missing_Context() { var target = new BuildsDialog(this.Fixture.VstsService.Object, this.Fixture.VstsApplicationRegistry.Object); await Assert.ThrowsExceptionAsync <ArgumentNullException>(async() => await target.BuildsAsync(null, null)); }