func createSpaceAndIteration(t *testing.T, db *gormapplication.GormDB) iteration.Iteration { var itr iteration.Iteration application.Transactional(db, func(app application.Application) error { repo := app.Iterations() newSpace := space.Space{ Name: "Test 1" + uuid.NewV4().String(), } p, err := app.Spaces().Create(context.Background(), &newSpace) if err != nil { t.Error(err) } start := time.Now() end := start.Add(time.Hour * (24 * 8 * 3)) name := "Sprint #2" i := iteration.Iteration{ Name: name, SpaceID: p.ID, StartAt: &start, EndAt: &end, } repo.Create(context.Background(), &i) itr = i return nil }) return itr }
func (rest *TestSpaceIterationREST) TestListIterationsBySpace() { t := rest.T() resource.Require(t, resource.Database) var spaceID uuid.UUID application.Transactional(rest.db, func(app application.Application) error { repo := app.Iterations() newSpace := space.Space{ Name: "Test 1", } p, err := app.Spaces().Create(context.Background(), &newSpace) if err != nil { t.Error(err) } spaceID = p.ID for i := 0; i < 3; i++ { start := time.Now() end := start.Add(time.Hour * (24 * 8 * 3)) name := "Sprint #2" + strconv.Itoa(i) i := iteration.Iteration{ Name: name, SpaceID: spaceID, StartAt: &start, EndAt: &end, } repo.Create(context.Background(), &i) } return nil }) svc, ctrl := rest.UnSecuredController() _, cs := test.ListSpaceIterationsOK(t, svc.Context, svc, ctrl, spaceID.String()) assert.Len(t, cs.Data, 3) for _, iterationItem := range cs.Data { subString := fmt.Sprintf("?filter[iteration]=%s", iterationItem.ID.String()) require.Contains(t, *iterationItem.Relationships.Workitems.Links.Related, subString) assert.Equal(t, 0, iterationItem.Relationships.Workitems.Meta["total"]) assert.Equal(t, 0, iterationItem.Relationships.Workitems.Meta["closed"]) } }