public void NotThrowExceptionWhenPassedArgumentIsValid() { // Arrange var mockedSet = new Mock <DbSet <ICreature> >(); var mockedAdvert = new Mock <ICreature>(); mockedSet.SetupAllProperties(); var mockedDbContext = new Mock <IAquaWorldDbContext>(); var fakeEntry = (DbEntityEntry <ICreature>)FormatterServices.GetSafeUninitializedObject(typeof(DbEntityEntry <ICreature>)); // Act mockedDbContext.Setup(x => x.Set <ICreature>()).Returns(mockedSet.Object); mockedDbContext.Setup(x => x.Entry(It.IsAny <ICreature>())).Returns(fakeEntry); var dataProvider = new EfAquaWorldDataProvider <ICreature>(mockedDbContext.Object); try { dataProvider.Add(mockedAdvert.Object); } catch (NullReferenceException) { } // Assert mockedDbContext.Verify(x => x.Entry(mockedAdvert.Object), Times.AtLeastOnce); }
public void WorkCorrectlyIfDbContextPassedIsValid() { // Arrange var mockedDbContext = new Mock <IAquaWorldDbContext>(); var mockedModel = new Mock <DbSet <ICreature> >(); // Act mockedDbContext.Setup(x => x.Set <ICreature>()).Returns(mockedModel.Object); var dataProvider = new EfAquaWorldDataProvider <ICreature>(mockedDbContext.Object); // Assert Assert.That(dataProvider, Is.Not.Null); }
public void SetDbSetCorrectlyWhenValidArgumentsPassed() { // Arrange var mockedContext = new Mock <IAquaWorldDbContext>(); var mockedModel = new Mock <DbSet <ICreature> >(); // Act mockedContext.Setup(x => x.Set <ICreature>()).Returns(mockedModel.Object); var repository = new EfAquaWorldDataProvider <ICreature>(mockedContext.Object); // Assert Assert.That(repository.DbSet, Is.Not.Null); Assert.That(repository.DbSet, Is.EqualTo(mockedModel.Object)); }
public void AllShouldReturnEntitiesOfGivenSet() { // Arrange var mockedDbContext = new Mock <IAquaWorldDbContext>(); var mockedSet = new Mock <DbSet <ICreature> >(); // Act mockedDbContext.Setup(x => x.Set <ICreature>()).Returns(mockedSet.Object); var dataProvider = new EfAquaWorldDataProvider <ICreature>(mockedDbContext.Object); // Assert Assert.NotNull(dataProvider.All()); Assert.IsInstanceOf(typeof(DbSet <ICreature>), dataProvider.All()); }
public void BeCalledWhenDisposingProvider() { // Arrange var mockedSet = new Mock <DbSet <ICreature> >(); var mockedDbContext = new Mock <IAquaWorldDbContext>(); mockedDbContext.Setup(x => x.Set <ICreature>()).Returns(mockedSet.Object); var dataProvider = new EfAquaWorldDataProvider <ICreature>(mockedDbContext.Object); // Act dataProvider.SaveChanges(); // Assert mockedDbContext.Verify(x => x.SaveChanges(), Times.Once); }
public void ThrowNullReferenceExceptionWhenPassedArgumentIsNull() { // Arrange var mockedDbContext = new Mock <IAquaWorldDbContext>(); var mockedSet = new Mock <DbSet <ICreature> >(); // Act mockedDbContext.Setup(set => set.Set <ICreature>()).Returns(mockedSet.Object); var dataProvider = new EfAquaWorldDataProvider <ICreature>(mockedDbContext.Object); ICreature entity = null; // Assert Assert.That(() => dataProvider.Update(entity), Throws.InstanceOf <NullReferenceException>()); }
public void ReturnCorrectResultWhenParameterIsValid() { // Arrange var mockedDbSet = new Mock <DbSet <ICreature> >(); var mockedDbContext = new Mock <IAquaWorldDbContext>(); var fakeAdvert = new Mock <ICreature>(); var validId = 15; // Act mockedDbContext.Setup(mock => mock.Set <ICreature>()).Returns(mockedDbSet.Object); var dataProvider = new EfAquaWorldDataProvider <ICreature>(mockedDbContext.Object); mockedDbSet.Setup(x => x.Find(It.IsAny <int>())).Returns(fakeAdvert.Object); // Assert Assert.That(dataProvider.GetById(validId), Is.Not.Null); Assert.AreEqual(dataProvider.GetById(validId), fakeAdvert.Object); }
public void BeCalledWhenInvoked() { // Arrange var mockedSet = new Mock <DbSet <ICreature> >(); var mockedDbContext = new Mock <IAquaWorldDbContext>(); mockedDbContext.Setup(x => x.Set <ICreature>()).Returns(mockedSet.Object); var dataProvider = new EfAquaWorldDataProvider <ICreature>(mockedDbContext.Object); var mockedAdvert = new Mock <ICreature>(); // Act try { dataProvider.Detach(mockedAdvert.Object); } catch (NullReferenceException) { }; // Assert mockedDbContext.Verify(x => x.Entry(mockedAdvert.Object), Times.AtLeastOnce); }
public void NotThrowExceptionWhenPassedArgumentIsValid() { // Arrange var mockedSet = new Mock <DbSet <ICreature> >(); var mockedAdvert = new Mock <ICreature>(); mockedSet.SetupAllProperties(); var mockedDbContext = new Mock <IAquaWorldDbContext>(); // Act mockedDbContext.Setup(x => x.Set <ICreature>()).Returns(mockedSet.Object); var dataProvider = new EfAquaWorldDataProvider <ICreature>(mockedDbContext.Object); try { dataProvider.Update(mockedAdvert.Object); } catch (NullReferenceException) { } // Assert mockedDbContext.Verify(x => x.Entry(mockedAdvert.Object), Times.AtLeastOnce); }