public void TestAtAftaleGetAllBySystemHenterAftaler() { IEnumerable <AftaleProxy> appointmentProxyCollection = _fixture.Build <AftaleProxy>() .With(m => m.FraTidspunkt, DateTime.MinValue) .With(m => m.TilTidspunkt, DateTime.MaxValue) .CreateMany(_random.Next(15, 25)) .ToList(); IKalenderRepository sut = CreateSut(appointmentProxyCollection); Assert.That(sut, Is.Not.Null); int systemNo = _fixture.Create <int>(); DateTime fromDate = DateTime.Now.AddDays(_random.Next(1, 30) * -1); IEnumerable <IAftale> result = sut.AftaleGetAllBySystem(systemNo, fromDate); // ReSharper disable PossibleMultipleEnumeration Assert.That(result, Is.Not.Null); Assert.That(result, Is.Not.Empty); Assert.That(result, Is.EqualTo(appointmentProxyCollection)); // ReSharper restore PossibleMultipleEnumeration IDbCommandTestExecutor commandTester = new DbCommandTestBuilder("SELECT ca.SystemNo,ca.CalId,ca.Date,ca.FromTime,ca.ToTime,ca.Properties,ca.Subject,ca.Note,s.Title AS SystemTitle,s.Properties AS SystemProperties FROM Calapps AS ca FORCE INDEX(IX_Calapps_SystemNo_Date) INNER JOIN Systems AS s ON s.SystemNo=ca.SystemNo WHERE ca.SystemNo=@systemNo AND ca.Date>=@date ORDER BY ca.Date DESC,ca.FromTime DESC,ca.ToTime DESC,ca.CalId DESC") .AddSmallIntDataParameter("@systemNo", systemNo, 2) .AddDateParameter("@date", fromDate) .Build(); _dataProviderMock.AssertWasCalled(m => m.GetCollection <AftaleProxy>(Arg <MySqlCommand> .Matches(cmd => commandTester.Run(cmd))), opt => opt.Repeat.Once()); }
public void TestThatDeltagereGetAppointmentUsersWhenMapDataHasBeenCalledAndMapRelationsHasNotBeenCalled() { IAftaleProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); int systemNo = _fixture.Create <int>(); int calId = _fixture.Create <int>(); MySqlDataReader dataReader = CreateMySqlDataReader(systemNo, calId, subject: _fixture.Create <string>()); ISystemProxy systemProxyMock = MockRepository.GenerateMock <ISystemProxy>(); systemProxyMock.Stub(m => m.Nummer) .Return(systemNo) .Repeat.Any(); IEnumerable <BrugeraftaleProxy> appointmentUserCollection = _fixture.CreateMany <BrugeraftaleProxy>(_random.Next(3, 7)).ToList(); IMySqlDataProvider dataProvider = CreateMySqlDataProvider(systemProxyMock, appointmentUserCollection); sut.MapData(dataReader, dataProvider); IEnumerable <IBrugeraftale> result = sut.Deltagere; // ReSharper disable PossibleMultipleEnumeration Assert.That(result, Is.Not.Null); Assert.That(result, Is.Not.Empty); Assert.That(result, Is.EqualTo(appointmentUserCollection)); // ReSharper restore PossibleMultipleEnumeration IDbCommandTestExecutor commandTester = new DbCommandTestBuilder("SELECT cm.SystemNo,cm.CalId,cm.UserId,cm.Properties,ca.Date,ca.FromTime,ca.ToTime,ca.Properties AS AppointmentProperties,ca.Subject,ca.Note,cu.UserName,cu.Name AS UserFullname,cu.Initials AS UserInitials,s.Title AS SystemTitle,s.Properties AS SystemProperties FROM Calmerge AS cm INNER JOIN Calapps AS ca ON ca.SystemNo=cm.SystemNo AND ca.CalId=cm.CalId INNER JOIN Calusers AS cu ON cu.SystemNo=cm.SystemNo AND cu.UserId=cm.UserId INNER JOIN Systems AS s ON s.SystemNo=cm.SystemNo WHERE cm.SystemNo=@systemNo AND cm.CalId=@calId") .AddSmallIntDataParameter("@systemNo", systemNo, 2) .AddIntDataParameter("@calId", calId, 8) .Build(); dataProvider.AssertWasCalled(m => m.GetCollection <BrugeraftaleProxy>(Arg <MySqlCommand> .Matches(cmd => commandTester.Run(cmd))), opt => opt.Repeat.Once()); }
public void TestThatMapRelationsMapsAppointmentUsers() { int systemNo = _fixture.Create <int>(); int calId = _fixture.Create <int>(); IAftaleProxy sut = CreateSut(systemNo, calId); Assert.That(sut, Is.Not.Null); IEnumerable <BrugeraftaleProxy> appointmentUserCollection = _fixture.CreateMany <BrugeraftaleProxy>(_random.Next(3, 7)).ToList(); IMySqlDataProvider dataProvider = CreateMySqlDataProvider(appointmentUserCollection: appointmentUserCollection); sut.MapRelations(dataProvider); Assert.That(sut.Deltagere, Is.Not.Null); Assert.That(sut.Deltagere, Is.Not.Empty); Assert.That(sut.Deltagere, Is.EqualTo(appointmentUserCollection)); IDbCommandTestExecutor commandTester = new DbCommandTestBuilder("SELECT cm.SystemNo,cm.CalId,cm.UserId,cm.Properties,ca.Date,ca.FromTime,ca.ToTime,ca.Properties AS AppointmentProperties,ca.Subject,ca.Note,cu.UserName,cu.Name AS UserFullname,cu.Initials AS UserInitials,s.Title AS SystemTitle,s.Properties AS SystemProperties FROM Calmerge AS cm INNER JOIN Calapps AS ca ON ca.SystemNo=cm.SystemNo AND ca.CalId=cm.CalId INNER JOIN Calusers AS cu ON cu.SystemNo=cm.SystemNo AND cu.UserId=cm.UserId INNER JOIN Systems AS s ON s.SystemNo=cm.SystemNo WHERE cm.SystemNo=@systemNo AND cm.CalId=@calId") .AddSmallIntDataParameter("@systemNo", systemNo, 2) .AddIntDataParameter("@calId", calId, 8) .Build(); dataProvider.AssertWasCalled(m => m.GetCollection <BrugeraftaleProxy>(Arg <MySqlCommand> .Matches(cmd => commandTester.Run(cmd))), opt => opt.Repeat.Once()); }
public void TestThatTranslationsMapsTranslationsIntoProxyWhenCreateHasBeenCalledAndMapDataHasNotBeenCalled() { IStorageTypeProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); Guid storageTypeIdentifier = Guid.NewGuid(); MySqlDataReader dataReader = CreateMySqlDataReader(storageTypeIdentifier); IEnumerable <TranslationProxy> translationProxyCollection = _fixture.CreateMany <TranslationProxy>().ToList(); IFoodWasteDataProvider dataProvider = CreateFoodWasteDataProvider(translationProxyCollection); IStorageTypeProxy result = sut.Create(dataReader, dataProvider, "StorageTypeIdentifier", "SortOrder", "Temperature", "TemperatureRangeStartValue", "TemperatureRangeEndValue", "Creatable", "Editable", "Deletable"); Assert.That(result, Is.Not.Null); Assert.That(result.Translation, Is.Null); Assert.That(result.Translations, Is.Not.Null); Assert.That(result.Translations, Is.Not.Empty); Assert.That(result.Translations, Is.EqualTo(translationProxyCollection)); dataProvider.AssertWasCalled(m => m.Clone(), opt => opt.Repeat.Once()); IDbCommandTestExecutor commandTester = new DbCommandTestBuilder("SELECT t.TranslationIdentifier AS TranslationIdentifier,t.OfIdentifier AS OfIdentifier,ti.TranslationInfoIdentifier AS InfoIdentifier,ti.CultureName AS CultureName,t.Value AS Value FROM Translations AS t INNER JOIN TranslationInfos AS ti ON ti.TranslationInfoIdentifier=t.InfoIdentifier WHERE t.OfIdentifier=@ofIdentifier ORDER BY ti.CultureName") .AddCharDataParameter("@ofIdentifier", storageTypeIdentifier) .Build(); dataProvider.AssertWasCalled(m => m.GetCollection <TranslationProxy>(Arg <MySqlCommand> .Matches(cmd => commandTester.Run(cmd))), opt => opt.Repeat.Once()); }
public void TestThatTranslationsMapsTranslationsAndDataSourceStatementsIntoProxyWhenMapDataHasBeenCalledAndMapRelationsHasNotBeenCalled() { IDataProviderProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); Guid dataSourceStatementIdentifier = Guid.NewGuid(); MySqlDataReader dataReader = CreateMySqlDataReader(Guid.NewGuid(), _fixture.Create <string>(), _fixture.Create <bool>(), dataSourceStatementIdentifier); IEnumerable <TranslationProxy> translationProxyCollection = BuildTranslationProxyCollection(dataSourceStatementIdentifier); IFoodWasteDataProvider dataProvider = CreateFoodWasteDataProvider(translationProxyCollection); sut.MapData(dataReader, dataProvider); Assert.That(sut.Translation, Is.Null); Assert.That(sut.Translations, Is.Not.Null); Assert.That(sut.Translations, Is.Not.Empty); Assert.That(sut.Translations, Is.EqualTo(translationProxyCollection)); Assert.That(sut.DataSourceStatement, Is.Null); Assert.That(sut.DataSourceStatements, Is.Not.Null); Assert.That(sut.DataSourceStatements, Is.Not.Empty); Assert.That(sut.DataSourceStatements, Is.EqualTo(translationProxyCollection)); dataProvider.AssertWasCalled(m => m.Clone(), opt => opt.Repeat.Times(1)); IDbCommandTestExecutor commandTester = new DbCommandTestBuilder("SELECT t.TranslationIdentifier AS TranslationIdentifier,t.OfIdentifier AS OfIdentifier,ti.TranslationInfoIdentifier AS InfoIdentifier,ti.CultureName AS CultureName,t.Value AS Value FROM Translations AS t INNER JOIN TranslationInfos AS ti ON ti.TranslationInfoIdentifier=t.InfoIdentifier WHERE t.OfIdentifier=@ofIdentifier ORDER BY ti.CultureName") .AddCharDataParameter("@ofIdentifier", dataSourceStatementIdentifier) .Build(); dataProvider.AssertWasCalled(m => m.GetCollection <TranslationProxy>(Arg <MySqlCommand> .Matches(cmd => commandTester.Run(cmd))), opt => opt.Repeat.Once()); }
public void TestThatHouseholdMemberGetByMailAddressCallsGetCollectionOnFoodWasteDataProvider() { IHouseholdDataRepository sut = CreateSut(); Assert.That(sut, Is.Not.Null); string mailAddress = _fixture.Create <string>(); sut.HouseholdMemberGetByMailAddress(mailAddress); IDbCommandTestExecutor commandTester = new DbCommandTestBuilder("SELECT HouseholdMemberIdentifier,MailAddress,Membership,MembershipExpireTime,ActivationCode,ActivationTime,PrivacyPolicyAcceptedTime,CreationTime FROM HouseholdMembers WHERE MailAddress=@mailAddress") .AddVarCharDataParameter("@mailAddress", mailAddress, 128) .Build(); _foodWasteDataProviderMock.AssertWasCalled(m => m.GetCollection <HouseholdMemberProxy>(Arg <MySqlCommand> .Matches(cmd => commandTester.Run(cmd))), opt => opt.Repeat.Once()); }
public void TestThatMapRelationsCallsGetCollectionOnDataProviderToGetTranslations() { Guid storageTypeIdentifier = Guid.NewGuid(); IStorageTypeProxy sut = CreateSut(storageTypeIdentifier); Assert.That(sut, Is.Not.Null); IFoodWasteDataProvider dataProvider = CreateFoodWasteDataProvider(); sut.MapRelations(dataProvider); IDbCommandTestExecutor commandTester = new DbCommandTestBuilder("SELECT t.TranslationIdentifier AS TranslationIdentifier,t.OfIdentifier AS OfIdentifier,ti.TranslationInfoIdentifier AS InfoIdentifier,ti.CultureName AS CultureName,t.Value AS Value FROM Translations AS t INNER JOIN TranslationInfos AS ti ON ti.TranslationInfoIdentifier=t.InfoIdentifier WHERE t.OfIdentifier=@ofIdentifier ORDER BY ti.CultureName") .AddCharDataParameter("@ofIdentifier", storageTypeIdentifier) .Build(); dataProvider.AssertWasCalled(m => m.GetCollection <TranslationProxy>(Arg <MySqlCommand> .Matches(cmd => commandTester.Run(cmd))), opt => opt.Repeat.Once()); }
public void TestAtBrugerGetAllBySystemHenterBrugere() { IEnumerable <BrugerProxy> calenderUserProxyCollection = _fixture.CreateMany <BrugerProxy>(_random.Next(15, 25)).ToList(); IKalenderRepository sut = CreateSut(calenderUserProxyCollection: calenderUserProxyCollection); Assert.That(sut, Is.Not.Null); int systemNo = _fixture.Create <int>(); IEnumerable <IBruger> result = sut.BrugerGetAllBySystem(systemNo); // ReSharper disable PossibleMultipleEnumeration Assert.That(result, Is.Not.Null); Assert.That(result, Is.EqualTo(calenderUserProxyCollection)); // ReSharper restore PossibleMultipleEnumeration IDbCommandTestExecutor commandTester = new DbCommandTestBuilder("SELECT cu.SystemNo,cu.UserId,cu.UserName,cu.Name,cu.Initials,s.Title,s.Properties FROM Calusers AS cu INNER JOIN Systems AS s ON s.SystemNo=cu.SystemNo WHERE cu.SystemNo=@systemNo ORDER BY cu.Name,cu.Initials,cu.UserId") .AddSmallIntDataParameter("@systemNo", systemNo, 2) .Build(); _dataProviderMock.AssertWasCalled(m => m.GetCollection <BrugerProxy>(Arg <MySqlCommand> .Matches(cmd => commandTester.Run(cmd))), opt => opt.Repeat.Once()); }
public void TestAtSystemGetAllHenterSystemer() { IEnumerable <SystemProxy> systemProxyCollection = _fixture.CreateMany <SystemProxy>(_random.Next(5, 10)).ToList(); IMySqlDataProvider mySqlDataProvider = CreateMySqlDataProvider(systemProxyCollection); IFællesRepository sut = new FællesRepository(CreateChannelFactory(), mySqlDataProvider, CreateDomainObjectBuilder()); Assert.That(sut, Is.Not.Null); IEnumerable <ISystem> result = sut.SystemGetAll(); // ReSharper disable PossibleMultipleEnumeration Assert.That(result, Is.Not.Null); Assert.That(result, Is.Not.Empty); Assert.That(result.Count(), Is.EqualTo(systemProxyCollection.Count())); Assert.That(result, Is.EqualTo(systemProxyCollection)); // ReSharper restore PossibleMultipleEnumeration IDbCommandTestExecutor expectedCommandTester = new DbCommandTestBuilder("SELECT SystemNo,Title,Properties FROM Systems ORDER BY SystemNo").Build(); mySqlDataProvider.AssertWasCalled(m => m.GetCollection <SystemProxy>(Arg <MySqlCommand> .Matches(cmd => expectedCommandTester.Run(cmd))), opt => opt.Repeat.Once()); }