Esempio n. 1
0
 public void TestAtConstructorInitiererMySqlDataProvider()
 {
     using (IMySqlDataProvider sut = CreateSut())
     {
         Assert.That(sut, Is.Not.Null);
     }
 }
Esempio n. 2
0
        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());
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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);
                });
            }
        }
Esempio n. 5
0
        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;
        }
Esempio n. 10
0
        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");
            }
        }
Esempio n. 11
0
        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");
            }
        }
Esempio n. 12
0
        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());
        }
Esempio n. 13
0
        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);
        }
Esempio n. 15
0
        /// <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));
        }
Esempio n. 17
0
        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);
            }
        }
Esempio n. 18
0
        /// <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);
        }
Esempio n. 19
0
        /// <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);
        }
Esempio n. 20
0
        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);
        }
Esempio n. 23
0
        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);
            }
        }
Esempio n. 24
0
        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());
        }
Esempio n. 25
0
        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());
        }
Esempio n. 27
0
 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;
        }
Esempio n. 30
0
        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());
        }