Ejemplo n.º 1
0
        public async Task OrderUpdatePackages(int projectId, SemVersion newVersion, SemVersion?previousVersion = null)
        {
            var updatePackages = _appDbContext.UpdatePackages.Where(x => x.ProjectId == projectId);

            var transaction = new OrderUpdatePackagesTransaction();
            await transaction.Execute(updatePackages, newVersion, previousVersion);

            await _appDbContext.SaveChangesAsync();
        }
        public async Task HasOnePackage_ChangeToGreaterVersion()
        {
            var packages = new[] { CreateUpdatePackage("1.2.0", 0) };
            var mock     = packages.AsQueryable().BuildMock();

            var transaction = new OrderUpdatePackagesTransaction();
            await transaction.Execute(mock.Object, "1.2.0", "1.0.0");

            Assert.Equal(0, packages[0].OrderNumber);
        }
        public async Task HasOnePackage_NewOlderPackage_MajorMinor()
        {
            var packages = new[] { CreateUpdatePackage("1.2.0", 0), CreateUpdatePackage("1.0.0") };
            var mock     = packages.AsQueryable().BuildMock();

            var transaction = new OrderUpdatePackagesTransaction();
            await transaction.Execute(mock.Object, "1.0.0");

            Assert.Equal(1, packages[0].OrderNumber);
            Assert.Equal(0, packages[1].OrderNumber);
        }
        public async Task HasManyPackages_ChangeVersionFromTopToMiddle()
        {
            var packages = new[] {
                CreateUpdatePackage("1.0.0", 0), CreateUpdatePackage("2.0.2", 3),
                CreateUpdatePackage("1.1.0", 1), CreateUpdatePackage("2.0.0", 2),
                CreateUpdatePackage("1.0.1", 4)
            };
            var mock = packages.AsQueryable().BuildMock();

            var transaction = new OrderUpdatePackagesTransaction();
            await transaction.Execute(mock.Object, "1.0.1", "3.0.0");

            AssertCorrectOrderNumbers(packages);
        }
        public async Task HasManyPackages_NewPackageOnTop_MajorMinor()
        {
            var packages = new[] {
                CreateUpdatePackage("1.0.0", 0), CreateUpdatePackage("2.0.1", 3),
                CreateUpdatePackage("1.1.0", 1), CreateUpdatePackage("2.0.0", 2),
                CreateUpdatePackage("2.2.0")
            };
            var mock = packages.AsQueryable().BuildMock();

            var transaction = new OrderUpdatePackagesTransaction();
            await transaction.Execute(mock.Object, "2.2.0");

            AssertCorrectOrderNumbers(packages);
        }