Skip to content

Commit

Permalink
Add failing UpsertBy tests
Browse files Browse the repository at this point in the history
  • Loading branch information
JamesKyburz committed Oct 15, 2012
1 parent 9ffd32a commit 5a61b70
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions Simple.Data.SqlTest/UpsertTests.cs
Expand Up @@ -414,5 +414,49 @@ public void TestUpsertWithSingleArgumentAndExistingObject()
Assert.AreEqual(1, actual.Id);
Assert.IsNotNull(actual.Name);
}

[Test]
public void TestUpsertUserBySecondaryField()
{
var db = DatabaseHelper.Open();

var id = db.Users.UpsertByName(new User() { Age = 20, Name = "Black sheep", Password = "Bah" }).Id;
User actual = db.Users.FindById(id);

Assert.AreEqual(id, actual.Id);
Assert.AreEqual("Black sheep", actual.Name);
Assert.AreEqual("Bah", actual.Password);
Assert.AreEqual(20, actual.Age);
}

[Test]
public void TestUpsertUserByTwoSecondaryFields()
{
var db = DatabaseHelper.Open();

var id = db.Users.UpsertByNameAndPassword(new User() { Age = 20, Name = "Black sheep", Password = "Bah" }).Id;
User actual = db.Users.FindById(id);

Assert.AreEqual(id, actual.Id);
Assert.AreEqual("Black sheep", actual.Name);
Assert.AreEqual("Bah", actual.Password);
Assert.AreEqual(20, actual.Age);
}

[Test]
public void TestUpsertExisting()
{
var db = DatabaseHelper.Open();

var id = db.Users.UpsertByNameAndPassword(new User() { Age = 20, Name = "Black sheep", Password = "Bah" }).Id;
db.Users.UpsertById(new User() { Id = id, Age = 12, Name = "Dog", Password = "Bark" });

User actual = db.Users.FindById(id);

Assert.AreEqual(id, actual.Id);
Assert.AreEqual("Dog", actual.Name);
Assert.AreEqual("Bark", actual.Password);
Assert.AreEqual(12, actual.Age);
}
}
}

0 comments on commit 5a61b70

Please sign in to comment.