in src/Shared/Infrastructure/Infrastructure.Persistence.IntegrationTests/UserRepositoryTests.cs [74:107]
public void TestUserStatus()
{
var repository = ServiceProvider.GetService<IUserRepository>();
var userInfo = new UserInfo
(
userToken: "registrationToken1",
userName: "joe",
statusId: 1,
statusChangedOn: new DateTime(2020, 4, 1)
);
repository.RegisterUser(userInfo);
var userStatus = new UserStateStatus
{
UserToken = userInfo.UserToken,
StatusId = 2,
StatusChangedOn = new DateTime(2020, 4, 4)
};
repository.SetUserStatus(userStatus);
var newUserInfo = repository.GetUserInfo(userInfo.UserToken);
Assert.That(newUserInfo, Is.Not.EqualTo(userInfo));
Assert.That(newUserInfo.StatusId, Is.EqualTo(userStatus.StatusId));
Assert.That(newUserInfo.StatusChangedOn, Is.EqualTo(userStatus.StatusChangedOn));
var userStateHistory = new Table<UserStateHistory>(CassandraSession.Session)
.FirstOrDefault(row => row.UserToken == userStatus.UserToken && row.StatusChangedOn == userStatus.StatusChangedOn)
.Execute();
Assert.That(userStateHistory, Is.Not.Null);
Assert.That(userStateHistory.StatusId, Is.EqualTo(userStatus.StatusId));
Assert.That(userStateHistory.StatusChangedOn, Is.EqualTo(userStatus.StatusChangedOn));
}