Example #1
0
            public void ReturnNewCeases()
            {
                var mobileBuilder = new MobileBuilder();
                var newCease1     = mobileBuilder
                                    .WithMobileState(Mobile.MobileState.ProcessingCease)
                                    .WithOrderType(Order.OrderType.Cease)
                                    .WithOrderState(Order.State.New)
                                    .Build();
                var newProvision1 = mobileBuilder
                                    .WithMobileState(Mobile.MobileState.New)
                                    .WithOrderType(Order.OrderType.Provision)
                                    .WithOrderState(Order.State.New)
                                    .Build();
                var newCease2 = mobileBuilder
                                .WithMobileState(Mobile.MobileState.ProcessingCease)
                                .WithOrderType(Order.OrderType.Cease)
                                .WithOrderState(Order.State.New)
                                .Build();

                fixture.DataAccess.Add(newCease1);
                fixture.DataAccess.Add(newProvision1);
                fixture.DataAccess.Add(newCease2);
                using var context = new MobilesContext(fixture.ContextOptions);
                var sut = new GetNewCeasesQuery(context, new DateTimeCreator());

                var actual = sut.Get().ToList();

                actual.ElementAt(0).Should().BeEquivalentTo(newCease1);
                actual.ElementAt(1).Should().BeEquivalentTo(newCease2);
                actual.Count.Should().Be(2);
            }
            public void ReturnMobiles()
            {
                var customerId    = Guid.NewGuid();
                var mobileBuilder = new MobileBuilder();
                var mobile1       = mobileBuilder
                                    .WithCustomerId(customerId)
                                    .WithMobileState(Mobile.MobileState.New)
                                    .WithOrderType(Order.OrderType.Provision)
                                    .WithOrderState(Order.State.New)
                                    .Build();
                var mobile2 = mobileBuilder
                              .WithCustomerId(customerId)
                              .WithMobileState(Mobile.MobileState.New)
                              .WithOrderType(Order.OrderType.Provision)
                              .WithOrderState(Order.State.New)
                              .Build();

                using var context = new MobilesContext(fixture.ContextOptions);
                fixture.DataAccess.Add(mobile1);
                fixture.DataAccess.Add(mobile2);
                var sut = new GetMobilesByCustomerIdQuery(context, new DateTimeCreator());

                var actual = sut.Get(customerId).ToList();

                actual.ElementAt(0).Should().BeEquivalentTo(mobile1);
                actual.ElementAt(1).Should().BeEquivalentTo(mobile2);
            }
Example #3
0
            public void ReturnAllCustomers()
            {
                var expectedCustomer1 = new Customer
                {
                    GlobalId = Guid.NewGuid(),
                    Name     = "Neil Armstrong"
                };
                var expectedCustomer2 = new Customer
                {
                    GlobalId = Guid.NewGuid(),
                    Name     = "Buzz Aldrin"
                };
                var expectedCustomer3 = new Customer
                {
                    GlobalId = Guid.NewGuid(),
                    Name     = "Michael Collins"
                };

                customers.Add(expectedCustomer1);
                customers.Add(expectedCustomer2);
                customers.Add(expectedCustomer3);
                using var context = new MobilesContext(fixture.ContextOptions);
                sut = new CustomerRepository(context);

                sut.Add(expectedCustomer1);
                sut.Add(expectedCustomer2);
                sut.Add(expectedCustomer3);

                var actual = sut.GetAll();

                actual.ElementAt(0).Should().BeEquivalentTo(expectedCustomer1);
                actual.ElementAt(1).Should().BeEquivalentTo(expectedCustomer2);
                actual.ElementAt(2).Should().BeEquivalentTo(expectedCustomer3);
            }
Example #4
0
            public void ReturnEmpty_WhenNoCustomers()
            {
                using var context = new MobilesContext(fixture.ContextOptions);
                sut = new CustomerRepository(context);

                var actual = sut.GetAll();

                actual.Should().BeEmpty();
            }
Example #5
0
            public void ReturnEmpty_WhenNoMobiles()
            {
                using var context = new MobilesContext(fixture.ContextOptions);
                var sut = new GetNewCeasesQuery(context, new DateTimeCreator());

                var actual = sut.Get();

                actual.Should().BeEmpty();
            }
Example #6
0
            public void ReturnOne_WhenNoOrders()
            {
                using var context = new MobilesContext(fixture.ContextOptions);
                var sut = new GetNextMobileIdQuery(context);

                var actual = sut.Get();

                actual.Should().Be(1);
            }
Example #7
0
        public ActionResult Details(int id)
        {
            WebApplication1Entities db = new WebApplication1Entities();
            MobilesContext          pc = new MobilesContext();

            List <Mobile> plist = db.Mobiles.ToList();

            return(View(plist));
        }
Example #8
0
            public void ReturnNull_WhenNotFound()
            {
                var notFoundGlobalId = Guid.NewGuid();

                using var context = new MobilesContext(fixture.ContextOptions);
                sut = new MobileRepository(context, new EnumConverter(), new DateTimeCreator());

                var actual = sut.GetById(notFoundGlobalId);

                actual.Should().BeNull();
            }
Example #9
0
            public void ReturnNull_WhenNotFound()
            {
                var notFoundGlobalId = Guid.NewGuid();

                using var context = new MobilesContext(fixture.ContextOptions);
                sut = new CustomerRepository(context);

                var actual = sut.GetById(notFoundGlobalId);

                actual.Should().BeNull();
            }
            public void ReturnNull_WhenNotFound()
            {
                var notFoundOrderId = Guid.NewGuid();

                using var context = new MobilesContext(fixture.ContextOptions);
                var sut = new GetMobileByOrderIdQuery(context, new DateTimeCreator());

                var actual = sut.Get(notFoundOrderId);

                actual.Should().BeNull();
            }
            public void ReturnEmpty_WhenNoMobiles()
            {
                var notFoundCustomerId = Guid.NewGuid();

                using var context = new MobilesContext(fixture.ContextOptions);
                var sut = new GetMobilesByCustomerIdQuery(context, new DateTimeCreator());

                var actual = sut.Get(notFoundCustomerId);

                actual.Should().BeEmpty();
            }
        public string GetNextPhoneNumber()
        {
            var prefix = "07001";

            using var mobilesContext = new MobilesContext(contextOptions);
            var sql = $"select PhoneNumber from Mobiles.Mobiles where PhoneNumber like '{prefix}%';";

            using var conn = new SqlConnection(connectionString);
            var dbRows       = conn.Query(sql);
            var phoneNumbers = dbRows.Select(dbRow =>
            {
                var phoneNumberString = ((string)dbRow.PhoneNumber)[prefix.Length..];
        public void Add(Mobile mobile)
        {
            var contextOptions = new DbContextOptionsBuilder <MobilesContext>()
                                 .UseSqlServer(ConfigurationData.ConnectionString)
                                 .Options;

            using var context = new MobilesContext(contextOptions);
            var mobilesRepository = new MobileRepository(context, new EnumConverter(), new DateTimeCreator());

            mobilesRepository.Add(mobile);
            mobilesAdded.Add(mobile);
        }
Example #14
0
            public void DoesNotReturnMobilesWhichHaveNoOrders()
            {
                var newProvision1 = mobileBuilder
                                    .WithMobileState(Mobile.MobileState.New)
                                    .BuildWithoutOrder();

                fixture.DataAccess.Add(newProvision1);
                using var context = new MobilesContext(fixture.ContextOptions);
                var sut = new GetNewProvisionsQuery(context, new DateTimeCreator());

                var actual = sut.Get().ToList();

                actual.Should().BeEmpty();
            }
Example #15
0
            public void ReturnMobile()
            {
                var mobileBuilder  = new MobileBuilder();
                var expectedMobile = mobileBuilder
                                     .WithMobileState(Mobile.MobileState.New)
                                     .BuildWithoutOrder();

                mobiles.Add(expectedMobile);
                using var context = new MobilesContext(fixture.ContextOptions);
                sut = new MobileRepository(context, new EnumConverter(), new DateTimeCreator());
                sut.Add(expectedMobile);

                var actual = sut.GetById(expectedMobile.GlobalId);

                actual.Should().BeEquivalentTo(expectedMobile);
            }
Example #16
0
            public void AddCustomer()
            {
                expectedCustomer = new Customer
                {
                    GlobalId = Guid.NewGuid(),
                    Name     = "Neil Armstrong"
                };
                using var context = new MobilesContext(fixture.ContextOptions);
                sut = new CustomerRepository(context);

                sut.Add(expectedCustomer);

                var actual = sut.GetById(expectedCustomer.GlobalId);

                actual.Should().BeEquivalentTo(expectedCustomer);
            }
Example #17
0
            public void DoesNotReturnMobilesWhichAreNotNew(string stateString)
            {
                var state         = new EnumConverter().ToEnum <Mobile.MobileState>(stateString);
                var newProvision1 = mobileBuilder
                                    .WithMobileState(state)
                                    .WithOrderType(Order.OrderType.Provision)
                                    .WithOrderState(Order.State.New)
                                    .Build();

                fixture.DataAccess.Add(newProvision1);
                using var context = new MobilesContext(fixture.ContextOptions);
                var sut = new GetNewProvisionsQuery(context, new DateTimeCreator());

                var actual = sut.Get().ToList();

                actual.Should().BeEmpty();
            }
            public void ReturnMobile()
            {
                var mobileBuilder  = new MobileBuilder();
                var expectedMobile = mobileBuilder
                                     .WithMobileState(Mobile.MobileState.New)
                                     .WithOrderType(Order.OrderType.Provision)
                                     .WithOrderState(Order.State.New)
                                     .Build();

                fixture.DataAccess.Add(expectedMobile);
                using var context = new MobilesContext(fixture.ContextOptions);
                var sut = new GetMobileByOrderIdQuery(context, new DateTimeCreator());

                var actual = sut.Get(expectedMobile.Orders.First().GlobalId);

                actual.Should().BeEquivalentTo(expectedMobile);
            }
Example #19
0
            public void ReturnNextMobileId()
            {
                var mobileBuilder = new MobileBuilder();
                var mobile        = mobileBuilder
                                    .WithMobileState(Mobile.MobileState.Live)
                                    .WithOrderType(Order.OrderType.Activate)
                                    .WithOrderState(Order.State.Completed)
                                    .Build();

                fixture.DataAccess.Add(mobile);
                using var context = new MobilesContext(fixture.ContextOptions);
                var sut = new GetNextMobileIdQuery(context);

                var actual = sut.Get();

                actual.Should().Be(mobile.Id + 1);
            }
Example #20
0
            public void AddMobile()
            {
                var mobileBuilder = new MobileBuilder();

                expectedMobile = mobileBuilder
                                 .WithMobileState(Mobile.MobileState.Live)
                                 .WithOrderType(Order.OrderType.Activate)
                                 .WithOrderState(Order.State.Completed)
                                 .Build();
                using var context = new MobilesContext(fixture.ContextOptions);
                sut = new MobileRepository(context, new EnumConverter(), new DateTimeCreator());

                sut.Add(expectedMobile);

                var actual = sut.GetById(expectedMobile.GlobalId);

                actual.Should().BeEquivalentTo(expectedMobile);
            }
Example #21
0
            public void AddMobile()
            {
                var mobileBuilder = new MobileBuilder();

                expectedMobile = mobileBuilder
                                 .WithMobileState(Mobile.MobileState.New)
                                 .BuildWithoutOrder();
                using var context = new MobilesContext(fixture.ContextOptions);
                sut = new MobileRepository(context, new EnumConverter(), new DateTimeCreator());
                sut.Add(expectedMobile);

                expectedMobile.Provision();
                sut.Update(expectedMobile);

                var actual = sut.GetById(expectedMobile.GlobalId);

                actual.State.Should().Be(Mobile.MobileState.ProcessingProvision);
            }
Example #22
0
            public void UpdateCustomer()
            {
                var expectedCustomer = new Customer
                {
                    GlobalId = Guid.NewGuid(),
                    Name     = "Neil Armstrong"
                };

                customers.Add(expectedCustomer);
                using var context = new MobilesContext(fixture.ContextOptions);
                sut = new CustomerRepository(context);
                sut.Add(expectedCustomer);

                expectedCustomer.Name = "Tim Peake";
                sut.Update(expectedCustomer);

                var actual = sut.GetById(expectedCustomer.GlobalId);

                actual.Name.Should().Be("Tim Peake");
            }
Example #23
0
 public MobileRepository()
 {
     _ctx = new MobilesContext();
 }