Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Method 1 Tests:
- [TestClass]
- public class GetQueuePosition_Should
- {
- [TestMethod]
- public void ReturnCorrectQueuePosition()
- {
- // Arrange
- var options = TestUtilities.GetOptions(nameof(ReturnCorrectQueuePosition));
- var testBook = new Book
- {
- Title = "Test",
- Author = "Test",
- Subject = "Test",
- Pages = 23,
- Year = 23,
- Country = "Test",
- Language = "Test",
- Link = "Test",
- };
- var testUser = new User
- {
- Email = "test@test.test",
- UserName = "Test"
- };
- var testUser1 = new User
- {
- Email = "test@test.test",
- UserName = "Test12"
- };
- // Act, Assert
- using (var assertContext = new LibraryDbContext(options))
- {
- var sut = new ReservationsServices(assertContext);
- var reservation = sut.CreateReservation(testUser, testBook).GetAwaiter().GetResult();
- var reservation1 = sut.CreateReservation(testUser1, testBook).GetAwaiter().GetResult();
- var expected = 2;
- var actual = sut.GetQueuePositionAsync(testUser1, testBook).GetAwaiter().GetResult();
- Assert.AreEqual(expected, actual);
- }
- }
- }
- Method 2 Tests:
- [TestClass]
- public class IsUserFirstToCheckOut_Should
- {
- [TestMethod]
- public void ReturnFalseIfTheBookIsNotReservedByTheUser()
- {
- // Arrange
- var options = TestUtilities.GetOptions(nameof(ReturnFalseIfTheBookIsNotReservedByTheUser));
- var testBook = new Book
- {
- ID = 1,
- Title = "Test",
- Author = "Test",
- Subject = "Test",
- Pages = 23,
- Year = 23,
- Country = "Test",
- Language = "Test",
- Link = "Test",
- };
- var testUser = new User
- {
- Id = "1",
- Email = "test@test.test",
- UserName = "Test"
- };
- // Act, Assert
- using (var assertContext = new LibraryDbContext(options))
- {
- var sut = new ReservationsServices(assertContext);
- var expected = false;
- var actual = sut.IsUserFirstToCheckOutAsync(testUser.Id, testBook.ID).GetAwaiter().GetResult();
- Assert.AreEqual(expected, actual);
- }
- }
- [TestMethod]
- public void ReturnFalseIfTheUserIsNotFirstToCheckOut()
- {
- // Arrange
- var options = TestUtilities.GetOptions(nameof(ReturnFalseIfTheUserIsNotFirstToCheckOut));
- var testBook = new Book
- {
- ID = 1,
- Title = "Test",
- Author = "Test",
- Subject = "Test",
- Pages = 23,
- Year = 23,
- Country = "Test",
- Language = "Test",
- Link = "Test",
- };
- var testUser = new User
- {
- Id = "1",
- Email = "test@test.test",
- UserName = "Test"
- };
- var testUser1 = new User
- {
- Id = "2",
- Email = "test@test.test",
- UserName = "Test12"
- };
- // Act, Assert
- using (var assertContext = new LibraryDbContext(options))
- {
- var sut = new ReservationsServices(assertContext);
- var reservation = sut.CreateReservation(testUser, testBook).GetAwaiter().GetResult();
- var reservation1 = sut.CreateReservation(testUser1, testBook).GetAwaiter().GetResult();
- var expected = false;
- var actual = sut.IsUserFirstToCheckOutAsync(testUser1.Id, testBook.ID).GetAwaiter().GetResult();
- Assert.AreEqual(expected, actual);
- }
- }
- [TestMethod]
- public void ReturnTrueIfTheUserIsFirstToCheckOutTheBook()
- {
- // Arrange
- var options = TestUtilities.GetOptions(nameof(ReturnFalseIfTheUserIsNotFirstToCheckOut));
- var testBook = new Book
- {
- ID = 1,
- Title = "Test",
- Author = "Test",
- Subject = "Test",
- Pages = 23,
- Year = 23,
- Country = "Test",
- Language = "Test",
- Link = "Test",
- };
- var testUser = new User
- {
- Id = "1",
- Email = "test@test.test",
- UserName = "Test"
- };
- var testUser1 = new User
- {
- Id = "2",
- Email = "test@test.test",
- UserName = "Test12"
- };
- // Act, Assert
- using (var assertContext = new LibraryDbContext(options))
- {
- var sut = new ReservationsServices(assertContext);
- var reservation = sut.CreateReservation(testUser, testBook).GetAwaiter().GetResult();
- var reservation1 = sut.CreateReservation(testUser1, testBook).GetAwaiter().GetResult();
- var expected = true;
- var actual = sut.IsUserFirstToCheckOutAsync(testUser.Id, testBook.ID).GetAwaiter().GetResult();
- Assert.AreEqual(expected, actual);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement