public async void GetContactsAsync_InvalidSource_ShouldThrowException() { // Arrange var httpJsonContactsDataSource = new HttpJsonContactsDataSource("https://raw.githubusercontent.com/Newbilius/ElbaMobileXamarinDeveloperTest/master/json/generated-111111.json"); // Assert await Assert.ThrowsAnyAsync <Exception>(async() => await httpJsonContactsDataSource.GetContactsAsync()); }
public async void GetContactsAsync_ValidSource_ShouldReturnContacts() { // Arrange var httpJsonContactsDataSource = new HttpJsonContactsDataSource("https://raw.githubusercontent.com/Newbilius/ElbaMobileXamarinDeveloperTest/master/json/generated-01.json"); // Act var actual = await httpJsonContactsDataSource.GetContactsAsync(); // Assert Assert.NotEmpty(actual); }
public async void SaveContactsAsync_ShouldInsertToDB() { // Arrange var httpJsonContactsDataSource = new HttpJsonContactsDataSource("https://raw.githubusercontent.com/Newbilius/ElbaMobileXamarinDeveloperTest/master/json/generated-01.json"); var SQLiteContactsDataStorage = new SQLiteContactsCache(Path.Combine(Path.GetTempPath(), "XamTestEvaganov.db"), SQLiteOpenFlags.ReadWrite | SQLiteOpenFlags.Create | SQLiteOpenFlags.SharedCache); // Act var contacts = await httpJsonContactsDataSource.GetContactsAsync(); var actual = await SQLiteContactsDataStorage.SaveContactsAsync(contacts); // Assert Assert.NotEqual(0, actual); }
public async void GetContactsAsync_ValidSource_ContactShouldContainData() { // Arrange var httpJsonContactsDataSource = new HttpJsonContactsDataSource("https://raw.githubusercontent.com/Newbilius/ElbaMobileXamarinDeveloperTest/master/json/generated-01.json"); // Act var actual = await httpJsonContactsDataSource.GetContactsAsync(); // Assert foreach (var contact in actual) { Assert.NotNull(contact.Id); Assert.NotNull(contact.Biography); Assert.NotNull(contact.EducationPeriod); Assert.NotNull(contact.Name); Assert.NotNull(contact.Phone); Assert.NotEqual(0, contact.Height); } }