public async Task WhenCreatorExists_ShouldCreateSnapshot() { await this.DatabaseTestAsync(async testDatabase => { this.guidCreator.Setup(v => v.CreateSqlSequential()).Returns(SnapshotId); this.timestampCreator.Setup(v => v.Create()).Returns(Now); this.target = new CreateCreatorChannelsSnapshotDbStatement( this.guidCreator.Object, this.timestampCreator.Object, testDatabase); var channels = await this.CreateDataAsync(testDatabase); await testDatabase.TakeSnapshotAsync(); await this.target.ExecuteAsync(CreatorId); var expectedCreatorChannelSnapshot = new CreatorChannelsSnapshot(SnapshotId, Now, CreatorId.Value); var expectedCreatorChannelItem1 = new CreatorChannelsSnapshotItem(SnapshotId, null, ChannelId1.Value, channels[0].Price); var expectedCreatorChannelItem2 = new CreatorChannelsSnapshotItem(SnapshotId, null, ChannelId2.Value, channels[1].Price); return(new ExpectedSideEffects { Inserts = new List <IIdentityEquatable> { expectedCreatorChannelSnapshot, expectedCreatorChannelItem1, expectedCreatorChannelItem2, } }); }); }
public async Task WhenCreatorDoesNotExist_ShouldCreateEmptySnapshot() { await this.DatabaseTestAsync(async testDatabase => { this.guidCreator.Setup(v => v.CreateSqlSequential()).Returns(SnapshotId); this.timestampCreator.Setup(v => v.Create()).Returns(Now); this.target = new CreateCreatorChannelsSnapshotDbStatement( this.guidCreator.Object, this.timestampCreator.Object, testDatabase); var channels = await this.CreateDataAsync(testDatabase); await testDatabase.TakeSnapshotAsync(); var creatorId = UserId.Random(); await this.target.ExecuteAsync(creatorId); var expectedCreatorChannelSnapshot = new CreatorChannelsSnapshot(SnapshotId, Now, creatorId.Value); return(new ExpectedSideEffects { Inserts = new List <IIdentityEquatable> { expectedCreatorChannelSnapshot, } }); }); }
public void Initialize() { this.guidCreator = new Mock <IGuidCreator>(); this.timestampCreator = new Mock <ISnapshotTimestampCreator>(); this.target = new CreateCreatorChannelsSnapshotDbStatement( this.guidCreator.Object, this.timestampCreator.Object, new Mock <IFifthweekDbConnectionFactory>(MockBehavior.Strict).Object); }