preparer_test.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //go:build !integration
  2. // +build !integration
  3. package main
  4. import (
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. "github.com/Jguer/yay/v12/pkg/settings"
  8. )
  9. // Test order of pre-download-sources hooks
  10. func TestPreDownloadSourcesHooks(t *testing.T) {
  11. testCases := []struct {
  12. name string
  13. cfg *settings.Configuration
  14. wantHook []string
  15. }{
  16. {
  17. name: "clean, diff, edit",
  18. cfg: &settings.Configuration{
  19. CleanMenu: true,
  20. DiffMenu: true,
  21. EditMenu: true,
  22. },
  23. wantHook: []string{"clean", "diff", "edit"},
  24. },
  25. {
  26. name: "clean, edit",
  27. cfg: &settings.Configuration{
  28. CleanMenu: true,
  29. DiffMenu: false,
  30. EditMenu: true,
  31. },
  32. wantHook: []string{"clean", "edit"},
  33. },
  34. {
  35. name: "clean, diff",
  36. cfg: &settings.Configuration{
  37. CleanMenu: true,
  38. DiffMenu: true,
  39. EditMenu: false,
  40. },
  41. wantHook: []string{"clean", "diff"},
  42. },
  43. }
  44. for _, tc := range testCases {
  45. t.Run(tc.name, func(t *testing.T) {
  46. preper := NewPreparer(nil, nil, tc.cfg)
  47. assert.Len(t, preper.hooks, len(tc.wantHook))
  48. got := make([]string, 0, len(preper.hooks))
  49. for _, hook := range preper.hooks {
  50. got = append(got, hook.Name)
  51. }
  52. assert.Equal(t, tc.wantHook, got)
  53. })
  54. }
  55. }