public void AddUser_NewUser_Success() { var store = new InMemoryLoyaltyProgramStore(); var id = store.AddUser(new LoyaltyProgramUser { LoyaltyPoints = 10, Name = "John", Settings = new LoyaltyProgramSettings { Interests = new[] { "Fishing", "Hunting", "Hiking" } } }); var user = store.GetUser(id); user.Name.Should().Be("John"); user.LoyaltyPoints.Should().Be(10); user.Settings.Interests.Should().Contain(s => s == "Fishing"); }
public void UpdateUser_UpdateProperties_Indeed() { var store = new InMemoryLoyaltyProgramStore(); var id = store.AddUser(new LoyaltyProgramUser { LoyaltyPoints = 7, Name = "Phil", Settings = new LoyaltyProgramSettings { Interests = new[] { "Poker", "Bridge", "Preference" } } }); var initialUser = store.GetUser(id); initialUser.Name.Should().Be("Phil"); initialUser.LoyaltyPoints.Should().Be(7); initialUser.Settings.Interests.Should().Contain(s => s == "Poker"); store.UpdateUser(id, new LoyaltyProgramUser { LoyaltyPoints = 25, Name = "Emma", Settings = new LoyaltyProgramSettings { Interests = new[] { "Racing", "Jugging" } } }); var updatedUser = store.GetUser(id); updatedUser.Name.Should().Be("Emma"); updatedUser.LoyaltyPoints.Should().Be(25); updatedUser.Settings.Interests.Should().Contain(s => s == "Racing"); }