public void AnnounceAsync_WhenPackageIsOk_CallsExpectedMethodsAndThrowsNothing() { var announcementMock = fixture.Freeze <Mock <IDeployAnnouncement> >(); var announcementFactoryMock = fixture.Freeze <Mock <IDeployAnnouncementFactory> >(); var versions = fixture.CreateMany <PackageVersion>(5); var syncMock = fixture.Freeze <Mock <ISyncService> >(); var fusionMock = fixture.Freeze <Mock <IFusionService> >(); var scheduleMock = fixture.Freeze <Mock <IScheduleService> >(); var validatorMock = fixture.Freeze <Mock <IPackageVersionValidator> >(); var sequence = new MoqSequence(); var token = CancellationToken.None; validatorMock.Setup(_ => _.ConfirmAvailability(versions)).InSequence(sequence); announcementFactoryMock.Setup(_ => _.CreateNew(new string[0], versions)).InSequence(sequence).Returns(() => announcementMock.Object); scheduleMock.Setup(_ => _.ScheduleAsync(announcementMock.Object, token)).InSequence(sequence).Returns(Task.FromResult(true)); var sut = fixture.Create <DeployService>(); Assert.That(() => sut.AnnounceAsync(versions, token), Throws.Nothing); sequence.Verify(); }
public void ExtractMultiple_WhenCalled_DoesWhatExpected() { var announcementMock = fixture.Freeze <Mock <IDeployAnnouncement> >(); var fusionMock = fixture.Freeze <Mock <IFusion> >(); var builderMock = fixture.Freeze <Mock <IFusionBuilder> >(); var versionValidatorMock = fixture.Freeze <Mock <IPackageVersionValidator> >(); var extractorMock = fixture.Freeze <Mock <IFusionExtracter> >(); var seq = new MoqSequence(); announcementMock.Setup(_ => _.GetFusionIds()).InSequence(seq).Returns(() => new[] { "test" }); announcementMock.Setup(_ => _.GetPackageVersions(It.IsAny <string>())).InSequence(seq); versionValidatorMock.Setup(_ => _.ConfirmAvailability(It.IsAny <IEnumerable <PackageVersion> >())).InSequence(seq); builderMock.Setup(_ => _.Build(It.IsAny <FusePackConfig>(), It.IsAny <IFusion>(), It.IsAny <IEnumerable <PackageVersion> >())).InSequence(seq); extractorMock.Setup(_ => _.Extract(It.IsAny <FusePackConfig>(), It.IsAny <Stream>())).InSequence(seq); var sut = fixture.Create <FusionService>(); Assert.That(() => sut.Extract(announcementMock.Object, CancellationToken.None), Throws.Nothing); seq.Verify(); }