public void TestAtConstructorInitiererMySqlDataProvider() { using (IMySqlDataProvider sut = CreateSut()) { Assert.That(sut, Is.Not.Null); } }
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 TestAtSaveGemmerDataProxy() { using (IMySqlDataProvider sut = CreateSut()) { Assert.That(sut, Is.Not.Null); int systemNo = _random.Next(90, 99); MyDataProxy mySqlDataProxy = _fixture.Build <MyDataProxy>() .With(m => m.SystemNo, systemNo) .Create(); Assert.That(mySqlDataProxy, Is.Not.Null); Assert.That(mySqlDataProxy.SaveRelationsIsCalled, Is.False); MyDataProxy result = sut.Add(mySqlDataProxy); Assert.That(result, Is.Not.Null); Assert.That(result.SaveRelationsIsCalled, Is.True); Assert.That(result.IsInserting, Is.True); result = sut.Save(mySqlDataProxy); Assert.That(result, Is.Not.Null); Assert.That(result.SaveRelationsIsCalled, Is.True); Assert.That(result.IsInserting, Is.False); sut.Delete(result); } }
public void TestAtGetCollectionHenterDataProxies() { using (IMySqlDataProvider sut = CreateSut()) { Assert.That(sut, Is.Not.Null); MySqlCommand queryCommand = new MySqlCommand("SELECT SystemNo,Title FROM Systems ORDER BY SystemNo") { CommandType = CommandType.Text }; IEnumerable <MyDataProxy> result = sut.GetCollection <MyDataProxy>(queryCommand); // ReSharper disable PossibleMultipleEnumeration Assert.That(result, Is.Not.Null); // ReSharper restore PossibleMultipleEnumeration // ReSharper disable PossibleMultipleEnumeration List <MyDataProxy> proxyCollection = result.ToList(); // ReSharper restore PossibleMultipleEnumeration Assert.That(proxyCollection, Is.Not.Null); Assert.That(proxyCollection.Count, Is.GreaterThan(0)); proxyCollection.ForEach(proxy => { Assert.That(proxy.MapDataIsCalled, Is.True); Assert.That(proxy.MapRelationsIsCalled, Is.True); }); } }
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()); }
/// <summary> /// Creates a mockup for the data provider which uses MySQL. /// </summary> /// <returns>Mockup for the data provider which uses MySQL.</returns> private IMySqlDataProvider CreateMySqlDataProvider(ISystemProxy systemProxy = null) { IMySqlDataProvider dataProviderMock = MockRepository.GenerateMock <IMySqlDataProvider>(); dataProviderMock.Stub(m => m.Create(Arg <ISystemProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Anything, Arg <string[]> .Is.Anything)) .Return(systemProxy ?? MockRepository.GenerateMock <ISystemProxy>()) .Repeat.Any(); return(dataProviderMock); }
/// <summary> /// Mapper relationer til en kalenderaftale. /// </summary> /// <param name="dataProvider">Dataprovider.</param> public virtual void MapRelations(IDataProviderBase <MySqlDataReader, MySqlCommand> dataProvider) { ArgumentNullGuard.NotNull(dataProvider, nameof(dataProvider)); Deltagere = BrugeraftaleProxy.GetAppointmentUsers(this, dataProvider); _appointmentUserCollectionHasBeenLoaded = true; _dataProvider = (IMySqlDataProvider)dataProvider; }
/// <summary> /// Danner repository til fælles elementer i domænet. /// </summary> /// <param name="channelFactory">Implementering af en ChannelFactory.</param> /// <param name="mySqlDataProvider">Implementering af data provider til MySql.</param> /// <param name="domainObjectBuilder">Implementering af domæneobjekt bygger.</param> public FællesRepository(IChannelFactory channelFactory, IMySqlDataProvider mySqlDataProvider, IDomainObjectBuilder domainObjectBuilder) { ArgumentNullGuard.NotNull(channelFactory, nameof(channelFactory)) .NotNull(mySqlDataProvider, nameof(mySqlDataProvider)) .NotNull(domainObjectBuilder, nameof(domainObjectBuilder)); _channelFactory = channelFactory; _mySqlDataProvider = mySqlDataProvider; _domainObjectBuilder = domainObjectBuilder; }
/// <summary> /// Creates an instance of the appointment data proxy. /// </summary> /// <param name="system">The system for the appointment.</param> /// <param name="id">The appointment identifier.</param> /// <param name="fromDateTime">The start date and time for the appointment.</param> /// <param name="toDateTime">The end date and time for the appointment.</param> /// <param name="subject">The subject for the appointment.</param> /// <param name="properties">The note for the appointment.</param> /// <param name="dataProvider">The data provider which this data proxy should use.</param> private AftaleProxy(ISystem system, int id, DateTime fromDateTime, DateTime toDateTime, string subject, int properties = 0, IDataProviderBase <MySqlDataReader, MySqlCommand> dataProvider = null) : base(system, id, fromDateTime, toDateTime, subject, properties) { if (dataProvider == null) { return; } _dataProvider = (IMySqlDataProvider)dataProvider; }
public void TestAtDeleteKasterArgumenutNullExceptionHvisDataProxyErNull() { using (IMySqlDataProvider sut = CreateSut()) { Assert.That(sut, Is.Not.Null); ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.Delete <MyDataProxy>(null)); TestHelper.AssertArgumentNullExceptionIsValid(result, "dataProxy"); } }
public void TestAtGetCollectionKasterArgumenutNullExceptionHvisQueryCommandErNull() { using (IMySqlDataProvider sut = CreateSut()) { Assert.That(sut, Is.Not.Null); ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.GetCollection <MyDataProxy>(null)); TestHelper.AssertArgumentNullExceptionIsValid(result, "queryCommand"); } }
public void TestThatMapRelationsCallsCloneOnDataProvider() { IAftaleProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); IMySqlDataProvider dataProvider = CreateMySqlDataProvider(); sut.MapRelations(dataProvider); dataProvider.AssertWasCalled(m => m.Clone(), opt => opt.Repeat.Once()); }
public void TestAtCloneInitiererNyMySqlDataProvider() { using (IMySqlDataProvider sut = CreateSut()) { Assert.That(sut, Is.Not.Null); using (IMySqlDataProvider clonedMySqlDataProvider = sut.Clone() as IMySqlDataProvider) { Assert.That(clonedMySqlDataProvider, Is.Not.Null); } } }
public void TestAtSystemGetAllKasterIntranetRepositoryExceptionVedException() { Exception exception = _fixture.Create <Exception>(); IMySqlDataProvider mySqlDataProvider = CreateMySqlDataProvider(exception: exception); IFællesRepository sut = new FællesRepository(CreateChannelFactory(), mySqlDataProvider, CreateDomainObjectBuilder()); Assert.That(sut, Is.Not.Null); IntranetRepositoryException result = Assert.Throws <IntranetRepositoryException>(() => sut.SystemGetAll()); TestHelper.AssertIntranetRepositoryExceptionIsValid(result, exception, ExceptionMessage.RepositoryError, "SystemGetAll", exception.Message); }
/// <summary> /// Gets the appointment users for a given appointment. /// </summary> /// <param name="appointment">The appointment for which to get the appointment users.</param> /// <param name="dataProvider">The data provider which should be used to get the appointment users.</param> /// <returns>The appointment users.</returns> /// <exception cref="ArgumentNullException">Thrown when <paramref name="appointment"/> or <paramref name="dataProvider"/>is null.</exception> internal static IEnumerable <IBrugeraftaleProxy> GetAppointmentUsers(IAftaleProxy appointment, IDataProviderBase <MySqlDataReader, MySqlCommand> dataProvider) { ArgumentNullGuard.NotNull(appointment, nameof(appointment)) .NotNull(dataProvider, nameof(dataProvider)); using (IMySqlDataProvider subDataProvider = (IMySqlDataProvider)dataProvider.Clone()) { MySqlCommand command = new CalenderCommandBuilder("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") .AddSystemNoParameter(appointment.System.Nummer) .AddAppointmentIdParameter(appointment.Id) .Build(); return(subDataProvider.GetCollection <BrugeraftaleProxy>(command)); } }
public void TestAtSystemGetAllKasterIntranetRepositoryExceptionVedIntranetRepositoryException() { IntranetRepositoryException intranetRepositoryException = _fixture.Create <IntranetRepositoryException>(); IMySqlDataProvider mySqlDataProvider = CreateMySqlDataProvider(exception: intranetRepositoryException); IFællesRepository sut = new FællesRepository(CreateChannelFactory(), mySqlDataProvider, CreateDomainObjectBuilder()); Assert.That(sut, Is.Not.Null); IntranetRepositoryException result = Assert.Throws <IntranetRepositoryException>(() => sut.SystemGetAll()); Assert.That(result, Is.Not.Null); Assert.That(result, Is.EqualTo(intranetRepositoryException)); }
public void TestAtGetKasterIntranetRepositoryExceptionHvisIdIkkeFindes() { using (IMySqlDataProvider sut = CreateSut()) { Assert.That(sut, Is.Not.Null); int systemNo = _random.Next(1, 9) * -1; MyDataProxy queryForDataProxy = new MyDataProxy { SystemNo = systemNo }; IntranetRepositoryException result = Assert.Throws <IntranetRepositoryException>(() => sut.Get(queryForDataProxy)); TestHelper.AssertIntranetRepositoryExceptionIsValid(result, ExceptionMessage.CantFindObjectById, queryForDataProxy.GetType().Name, systemNo); } }
/// <summary> /// Creates a mockup for the data provider which uses MySQL. /// </summary> /// <returns>Mockup for the data provider which uses MySQL.</returns> private IMySqlDataProvider CreateMySqlDataProvider(ISystemProxy systemProxy = null, IEnumerable <BrugeraftaleProxy> appointmentUserCollection = null) { IMySqlDataProvider dataProviderMock = MockRepository.GenerateMock <IMySqlDataProvider>(); dataProviderMock.Stub(m => m.Clone()) .Return(dataProviderMock) .Repeat.Any(); dataProviderMock.Stub(m => m.Create(Arg <ISystemProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Anything, Arg <string[]> .Is.Anything)) .Return(systemProxy ?? MockRepository.GenerateMock <ISystemProxy>()) .Repeat.Any(); dataProviderMock.Stub(m => m.GetCollection <BrugeraftaleProxy>(Arg <MySqlCommand> .Is.Anything)) .Return(appointmentUserCollection ?? _fixture.CreateMany <BrugeraftaleProxy>(_random.Next(3, 7)).ToList()) .Repeat.Any(); return(dataProviderMock); }
/// <summary> /// Creates a mockup for the data provider which uses MySQL. /// </summary> /// <returns>Mockup for the data provider which uses MySQL.</returns> private IMySqlDataProvider CreateMySqlDataProvider(ISystemProxy systemProxy = null, IAftaleProxy appointmentProxy = null, IBrugerProxy calenderUserProxy = null) { IMySqlDataProvider dataProviderMock = MockRepository.GenerateMock <IMySqlDataProvider>(); dataProviderMock.Stub(m => m.Create(Arg <ISystemProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Anything, Arg <string[]> .Is.Anything)) .Return(systemProxy ?? MockRepository.GenerateMock <ISystemProxy>()) .Repeat.Any(); dataProviderMock.Stub(m => m.Create(Arg <IAftaleProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Anything, Arg <string[]> .Is.Anything)) .Return(appointmentProxy ?? MockRepository.GenerateMock <IAftaleProxy>()) .Repeat.Any(); dataProviderMock.Stub(m => m.Create(Arg <IBrugerProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Anything, Arg <string[]> .Is.Anything)) .Return(calenderUserProxy ?? MockRepository.GenerateMock <IBrugerProxy>()) .Repeat.Any(); return(dataProviderMock); }
public void TestAtGetCollectionKasterMySqlExceptionHvisQueryIkkeKanUdføres() { using (IMySqlDataProvider sut = CreateSut()) { Assert.That(sut, Is.Not.Null); MySqlCommand queryCommand = new MySqlCommand("SELECT SystemNo,Title FROM XYZSystems WHERE SystemNo=@systemNo ORDER BY SystemNo") { CommandType = CommandType.Text }; MySqlParameter systemNoParameter = queryCommand.Parameters.AddWithValue("@systemNo", _random.Next(90, 99)); systemNoParameter.MySqlDbType = MySqlDbType.Int16; systemNoParameter.IsNullable = false; Assert.Throws <MySqlException>(() => sut.GetCollection <MyDataProxy>(queryCommand)); } }
/// <summary> /// Mapper data for en kalenderaftale. /// </summary> /// <param name="dataReader">Datareader.</param> /// <param name="dataProvider">Dataprovider.</param> public virtual void MapData(MySqlDataReader dataReader, IDataProviderBase <MySqlDataReader, MySqlCommand> dataProvider) { ArgumentNullGuard.NotNull(dataReader, nameof(dataReader)) .NotNull(dataProvider, nameof(dataProvider)); DateTime fromDate = GetAppointmentDate(dataReader, "Date"); System = dataProvider.Create(new SystemProxy(), dataReader, "SystemNo", "SystemTitle", "SystemProperties"); Id = GetAppointmentIdentifier(dataReader, "CalId"); FraTidspunkt = fromDate.Add(GetAppointmentTime(dataReader, "FromTime")); TilTidspunkt = fromDate.Add(GetAppointmentTime(dataReader, "ToTime")); Properties = GetAppointmentProperties(dataReader, "Properties"); Emne = GetAppointmentSubject(dataReader, "Subject"); Notat = GetAppointmentNote(dataReader, "Note"); _appointmentUserCollectionHasBeenLoaded = false; _dataProvider = (IMySqlDataProvider)dataProvider; }
/// <summary> /// Creates a mockup for the data provider which uses MySQL. /// </summary> /// <returns>Mockup for the data provider which uses MySQL.</returns> private IMySqlDataProvider CreateMySqlDataProvider(IEnumerable <SystemProxy> systemProxyCollection = null, Exception exception = null) { IMySqlDataProvider mySqlDataProviderMock = MockRepository.GenerateMock <IMySqlDataProvider>(); if (exception == null) { mySqlDataProviderMock.Stub(m => m.GetCollection <SystemProxy>(Arg <MySqlCommand> .Is.Anything)) .Return(systemProxyCollection ?? _fixture.CreateMany <SystemProxy>(_random.Next(5, 10)).ToList()) .Repeat.Any(); } else { mySqlDataProviderMock.Stub(m => m.GetCollection <SystemProxy>(Arg <MySqlCommand> .Is.Anything)) .Throw(exception) .Repeat.Any(); } return(mySqlDataProviderMock); }
public void TestAtGetHenterDataProxy() { using (IMySqlDataProvider sut = CreateSut()) { Assert.That(sut, Is.Not.Null); MyDataProxy result = sut.Get(new MyDataProxy { SystemNo = 1 }); Assert.That(result, Is.Not.Null); Assert.That(result.SystemNo, Is.EqualTo(1)); Assert.That(result.Title, Is.Not.Null); Assert.That(result.Title.Length, Is.GreaterThan(0)); Assert.That(result.MapDataIsCalled, Is.True); Assert.That(result.MapRelationsIsCalled, Is.True); } }
public void TestThatDeltagereCallsCloneOnDataProviderWhenMapDataHasBeenCalledAndMapRelationsHasNotBeenCalled() { 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>()); IMySqlDataProvider dataProvider = CreateMySqlDataProvider(); sut.MapData(dataReader, dataProvider); IEnumerable <IBrugeraftale> result = sut.Deltagere; Assert.That(result, Is.Not.Null); dataProvider.AssertWasCalled(m => m.Clone(), opt => opt.Repeat.Once()); }
public void TestAtAddKasterMySqlExceptionHvisDataProxyFindes() { using (IMySqlDataProvider sut = CreateSut()) { Assert.That(sut, Is.Not.Null); int systemNo = _random.Next(90, 99); MyDataProxy mySqlDataProxy = _fixture.Build <MyDataProxy>() .With(m => m.SystemNo, systemNo) .Create(); Assert.That(mySqlDataProxy, Is.Not.Null); MyDataProxy result = sut.Add(mySqlDataProxy); Assert.That(result, Is.Not.Null); Assert.Throws <MySqlException>(() => sut.Add(mySqlDataProxy)); sut.Delete(result); } }
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()); }
public void SetUp() { _fixture = new Fixture(); _random = new Random(_fixture.Create <int>()); _dataProviderMock = MockRepository.GenerateMock <IMySqlDataProvider>(); }
public void TestThatCreateCreatesCalenderUserProxy(bool hasUserName) { IBrugerProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); int systemNo = _fixture.Create <int>(); int userId = _fixture.Create <int>(); string userName = hasUserName ? _fixture.Create <string>() : null; string name = _fixture.Create <string>(); string initials = _fixture.Create <string>(); MySqlDataReader dataReader = CreateMySqlDataReader(systemNo, userId, userName, name, initials); ISystemProxy systemProxy = MockRepository.GenerateMock <ISystemProxy>(); IMySqlDataProvider dataProvider = CreateMySqlDataProvider(systemProxy); IBrugerProxy result = sut.Create(dataReader, dataProvider, "UserId", "Initials", "Name", "UserName", "SystemNo", "Title", "Properties"); Assert.That(result, Is.Not.Null); Assert.That(result.System, Is.Not.Null); Assert.That(result.System, Is.EqualTo(systemProxy)); Assert.That(result.Id, Is.EqualTo(userId)); if (hasUserName) { Assert.That(result.UserName, Is.Not.Null); Assert.That(result.UserName, Is.Not.Empty); Assert.That(result.UserName, Is.EqualTo(userName)); } else { Assert.That(result.UserName, Is.Null); } Assert.That(result.Navn, Is.Not.Null); Assert.That(result.Navn, Is.Not.Empty); Assert.That(result.Navn, Is.EqualTo(name)); Assert.That(result.Initialer, Is.Not.Null); Assert.That(result.Initialer, Is.Not.Empty); Assert.That(result.Initialer, Is.EqualTo(initials)); dataReader.AssertWasCalled(m => m.GetInt32(Arg <string> .Is.Equal("UserId")), opt => opt.Repeat.Once()); dataReader.AssertWasCalled(m => m.GetOrdinal(Arg <string> .Is.Equal("UserName")), opt => opt.Repeat.Once()); dataReader.AssertWasCalled(m => m.IsDBNull(Arg <int> .Is.Equal(2)), opt => opt.Repeat.Once()); if (hasUserName) { dataReader.AssertWasCalled(m => m.GetString(Arg <string> .Is.Equal("UserName")), opt => opt.Repeat.Once()); } else { dataReader.AssertWasNotCalled(m => m.GetString(Arg <string> .Is.Equal("UserName"))); } dataReader.AssertWasCalled(m => m.GetString(Arg <string> .Is.Equal("Name")), opt => opt.Repeat.Once()); dataReader.AssertWasCalled(m => m.GetString(Arg <string> .Is.Equal("Initials")), opt => opt.Repeat.Once()); dataProvider.AssertWasCalled(m => m.Create( Arg <ISystemProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Equal(dataReader), Arg <string[]> .Matches(e => e != null && e.Length == 3 && e[0] == "SystemNo" && e[1] == "Title" && e[2] == "Properties")), opt => opt.Repeat.Once()); }
/// <summary> /// Danner repository til kalenderaftaler under OSWEBDB. /// </summary> /// <param name="mySqlDataProvider">Data provider til MySql.</param> public KalenderRepository(IMySqlDataProvider mySqlDataProvider) { ArgumentNullGuard.NotNull(mySqlDataProvider, nameof(mySqlDataProvider)); _mySqlDataProvider = mySqlDataProvider; }
public void TestAtMapDataMapperBrugeraftaleProxy(bool hasProperties) { IBrugeraftaleProxy sut = CreateSut(); Assert.That(sut, Is.Not.Null); int systemNo = _fixture.Create <int>(); int calId = _fixture.Create <int>(); int userId = _fixture.Create <int>(); int? properties = hasProperties ? _fixture.Create <int>() : (int?)null; MySqlDataReader dataReader = CreateMySqlDataReader(systemNo, calId, userId, properties); ISystemProxy systemProxy = MockRepository.GenerateMock <ISystemProxy>(); IAftaleProxy appointmentProxy = MockRepository.GenerateMock <IAftaleProxy>(); IBrugerProxy calenderUserProxy = MockRepository.GenerateMock <IBrugerProxy>(); IMySqlDataProvider dataProvider = CreateMySqlDataProvider(systemProxy, appointmentProxy, calenderUserProxy); sut.MapData(dataReader, dataProvider); Assert.That(sut.System, Is.Not.Null); Assert.That(sut.System, Is.EqualTo(systemProxy)); Assert.That(sut.Aftale, Is.Not.Null); Assert.That(sut.Aftale, Is.EqualTo(appointmentProxy)); Assert.That(sut.Bruger, Is.Not.Null); Assert.That(sut.Bruger, Is.EqualTo(calenderUserProxy)); if (hasProperties) { Assert.That(sut.Properties, Is.EqualTo(properties)); } else { Assert.That(sut.Properties, Is.EqualTo(0)); } dataReader.AssertWasCalled(m => m.GetOrdinal(Arg <string> .Is.Equal("Properties")), opt => opt.Repeat.Once()); dataReader.AssertWasCalled(m => m.IsDBNull(Arg <int> .Is.Equal(3)), opt => opt.Repeat.Once()); if (hasProperties) { dataReader.AssertWasCalled(m => m.GetInt32(Arg <string> .Is.Equal("Properties")), opt => opt.Repeat.Once()); } else { dataReader.AssertWasNotCalled(m => m.GetInt32(Arg <string> .Is.Equal("Properties"))); } dataProvider.AssertWasCalled(m => m.Create( Arg <ISystemProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Equal(dataReader), Arg <string[]> .Matches(e => e != null && e.Length == 3 && e[0] == "SystemNo" && e[1] == "SystemTitle" && e[2] == "SystemProperties")), opt => opt.Repeat.Once()); dataProvider.AssertWasCalled(m => m.Create( Arg <IAftaleProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Equal(dataReader), Arg <string[]> .Matches(e => e != null && e.Length == 10 && e[0] == "CalId" && e[1] == "Date" && e[2] == "FromTime" && e[3] == "ToTime" && e[4] == "AppointmentProperties" && e[5] == "Subject" && e[6] == "Note" && e[7] == "SystemNo" && e[8] == "SystemTitle" && e[9] == "SystemProperties")), opt => opt.Repeat.Once()); dataProvider.AssertWasCalled(m => m.Create( Arg <IBrugerProxy> .Is.TypeOf, Arg <MySqlDataReader> .Is.Equal(dataReader), Arg <string[]> .Matches(e => e != null && e.Length == 7 && e[0] == "UserId" && e[1] == "UserInitials" && e[2] == "UserFullname" && e[3] == "UserName" && e[4] == "SystemNo" && e[5] == "SystemTitle" && e[6] == "SystemProperties")), opt => opt.Repeat.Once()); }