public async void InsertAsync_FluentPoco() { // Get a "new" user by using the test data from an existing user and changing the primary key TestUser user = TestDataHelper.Users.First(); var newUser = new FluentUser { Id = Guid.NewGuid(), Name = user.Name, Age = user.Age, CreatedDate = user.CreatedDate, IsActive = user.IsActive, LastLoginDate = user.LastLoginDate, LoginHistory = user.LoginHistory, LuckyNumbers = user.LuckyNumbers, ChildrenAges = user.ChildrenAges, FavoriteColor = user.FavoriteColor, TypeOfUser = user.TypeOfUser, PreferredContact = user.PreferredContactMethod, HairColor = user.HairColor }; // Insert the new user await CqlClient.InsertAsync(newUser); // Fetch and verify var foundUser = await CqlClient.SingleAsync <FluentUser>("WHERE userid = ?", newUser.Id); foundUser.ShouldBeEquivalentTo(newUser, opt => opt.AccountForTimestampAccuracy()); }
public void InsertAsync_FluentPoco() { // Get a "new" user by using the test data from an existing user and changing the primary key var user = TestDataHelper.GetUserList().First(); var newUser = new FluentUser { Id = Guid.NewGuid(), Name = user.Name, Age = user.Age, CreatedDate = user.CreatedDate, IsActive = user.IsActive, LastLoginDate = user.LastLoginDate, LoginHistory = user.LoginHistory, LuckyNumbers = user.LuckyNumbers, ChildrenAges = new Dictionary <string, int>(user.ChildrenAges), FavoriteColor = user.FavoriteColor, TypeOfUser = user.TypeOfUser, PreferredContact = user.PreferredContactMethod, HairColor = user.HairColor }; var sessionMock = new Mock <ISession>(MockBehavior.Strict); sessionMock.Setup(s => s.Keyspace).Returns <string>(null); sessionMock .Setup(s => s.ExecuteAsync(It.IsAny <BoundStatement>(), It.IsAny <string>())) .Returns(TaskHelper.ToTask(new RowSet())) .Verifiable(); sessionMock .Setup(s => s.PrepareAsync(It.IsAny <string>())) .Returns <string>(cql => TaskHelper.ToTask(GetPrepared(cql))) .Verifiable(); // Insert the new user var mappingClient = GetMappingClient(sessionMock); mappingClient.InsertAsync(newUser).Wait(3000); sessionMock.Verify(s => s.ExecuteAsync(It.Is <BoundStatement>(stmt => stmt.QueryValues.Length > 0 && stmt.PreparedStatement.Cql.StartsWith("INSERT INTO") ), It.IsAny <string>()), Times.Exactly(1)); sessionMock.Verify(); }