Beispiel #1
0
        public async void TestForCreateVendor()
        {
            var options = new DbContextOptionsBuilder <LeagueContext>()
                          .UseInMemoryDatabase(databaseName: "p3LeagueControllerCreateVendor")
                          .Options;

            using (var context = new LeagueContext(options))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();

                Repo             r                = new Repo(context, new NullLogger <Repo>());
                Logic            logic            = new Logic(r, new NullLogger <Repo>());
                VendorController vendorController = new VendorController(logic);
                var vendorDto = new CreateVendorDto
                {
                    VendorInfo = "chicken tenders",
                    VendorName = "bojangles"
                };

                var createVendor = await vendorController.CreateVendor(vendorDto);

                Assert.IsAssignableFrom <Vendor>((createVendor as OkObjectResult).Value);
                var createVendor2 = await vendorController.CreateVendor(vendorDto);

                Assert.IsAssignableFrom <string>((createVendor2 as ConflictObjectResult).Value);
            }
        }
 public async Task <IActionResult> CreateVendor([FromBody] CreateVendorDto createVendorDto)
 {
     if (await _logic.VendorExists(createVendorDto.VendorName) == true)
     {
         return(Conflict("Vendor already exists."));
     }
     return(Ok(await _logic.AddVendor(createVendorDto)));
 }
        public void ValidateEditVendorDto()
        {
            var vendor = new CreateVendorDto()
            {
                VendorInfo = "hamburger",
                VendorName = "wendys"
            };

            var errorcount = ValidateModel(vendor).Count;

            Assert.Equal(0, errorcount);
        }
Beispiel #4
0
        /// <summary>
        /// Add a new vendor to the DB with given name and info
        /// </summary>
        /// <param name="createVendorDto"></param>
        /// <returns></returns>
        public async Task <Vendor> AddVendor(CreateVendorDto createVendorDto)
        {
            Vendor newVendor = new Vendor()
            {
                VendorName = createVendorDto.VendorName,
                VendorInfo = createVendorDto.VendorInfo,
            };
            await _repo.Vendors.AddAsync(newVendor);

            await _repo.CommitSave();

            return(newVendor);
        }
Beispiel #5
0
        /// <summary>
        /// Edit the vendor name/info with the given ID
        /// </summary>
        /// <param name="id"></param>
        /// <param name="evd"></param>
        /// <returns></returns>
        public async Task <Vendor> EditVendor(Guid id, CreateVendorDto evd)
        {
            Vendor vendor = await _repo.GetVendorById(id);

            if (vendor.VendorName != evd.VendorName && !string.IsNullOrEmpty(evd.VendorName))
            {
                vendor.VendorName = evd.VendorName;
            }
            if (vendor.VendorInfo != evd.VendorInfo && !string.IsNullOrEmpty(evd.VendorInfo))
            {
                vendor.VendorInfo = evd.VendorInfo;
            }
            await _repo.CommitSave();

            return(vendor);
        }
        public async Task <IActionResult> EditVendor(Guid id, [FromBody] CreateVendorDto evd)
        {
            Vendor vendorToEdit = await _logic.GetVendorById(id);

            Vendor vendor = await _logic.GetVendorByName(evd.VendorName);

            if (vendorToEdit == null)
            {
                return(NotFound("No Vendor with that ID was found."));
            }
            if (vendor != null && evd.VendorInfo == vendor.VendorInfo)
            {
                return(Conflict("That vendor already exists in the DB."));
            }
            return(Ok(await _logic.EditVendor(id, evd)));
        }
Beispiel #7
0
        public async void TestForEditVendor()
        {
            var options = new DbContextOptionsBuilder <LeagueContext>()
                          .UseInMemoryDatabase(databaseName: "p3VendorControllerEditVendor")
                          .Options;

            using (var context = new LeagueContext(options))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();

                Repo             r                = new Repo(context, new NullLogger <Repo>());
                Logic            logic            = new Logic(r, new NullLogger <Repo>());
                VendorController vendorController = new VendorController(logic);
                var vendor = new Vendor
                {
                    VendorID   = Guid.NewGuid(),
                    VendorInfo = "chicken tenders",
                    VendorName = "bojangles"
                };
                var vendorDto = new CreateVendorDto
                {
                    VendorInfo = "chicken tenders",
                    VendorName = "bojangles"
                };
                var editVendor = await vendorController.EditVendor(vendor.VendorID, vendorDto);

                Assert.IsAssignableFrom <string>((editVendor as NotFoundObjectResult).Value);

                r.Vendors.Add(vendor);
                await r.CommitSave();

                var editVendor2 = await vendorController.EditVendor(vendor.VendorID, vendorDto);

                Assert.IsAssignableFrom <string>((editVendor2 as ConflictObjectResult).Value);

                var vendorDto2 = new CreateVendorDto
                {
                    VendorInfo = "chicken biscuit",
                    VendorName = "bojangles"
                };

                var editVendor3 = await vendorController.EditVendor(vendor.VendorID, vendorDto2);

                Assert.IsAssignableFrom <Vendor>((editVendor3 as OkObjectResult).Value);
            }
        }
Beispiel #8
0
        public async void TestForEditVendor()
        {
            var options = new DbContextOptionsBuilder <LeagueContext>()
                          .UseInMemoryDatabase(databaseName: "p3LogicEditVendor")
                          .Options;

            using (var context = new LeagueContext(options))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();

                Repo  r      = new Repo(context, new NullLogger <Repo>());
                Logic logic  = new Logic(r, new NullLogger <Repo>());
                var   vendor = new Vendor
                {
                    VendorID   = Guid.NewGuid(),
                    VendorInfo = "hotdog",
                    VendorName = "weinerhut"
                };

                r.Vendors.Add(vendor);
                await r.CommitSave();

                var getVendor = await logic.GetVendorById(vendor.VendorID);

                Assert.Equal("hotdog", getVendor.VendorInfo);
                Assert.Equal("weinerhut", getVendor.VendorName);

                var vendorDto = new CreateVendorDto
                {
                    VendorInfo = "hamburger",
                    VendorName = "wendys"
                };

                var editVendor = await logic.EditVendor(vendor.VendorID, vendorDto);

                Assert.Equal("hamburger", editVendor.VendorInfo);
                Assert.Equal("wendys", editVendor.VendorName);
            }
        }
Beispiel #9
0
        public async void TestForAddVendor()
        {
            var options = new DbContextOptionsBuilder <LeagueContext>()
                          .UseInMemoryDatabase(databaseName: "p3LogicAddVendor")
                          .Options;

            using (var context = new LeagueContext(options))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();

                Repo  r         = new Repo(context, new NullLogger <Repo>());
                Logic logic     = new Logic(r, new NullLogger <Repo>());
                var   vendorDto = new CreateVendorDto
                {
                    VendorInfo = "hotdog",
                    VendorName = "weinerhut"
                };

                var newVendor = await logic.AddVendor(vendorDto);

                Assert.Contains <Vendor>(newVendor, context.Vendors);
            }
        }