2024-04-11 15:51:56 +02:00
|
|
|
package myList_test
|
|
|
|
|
|
|
|
import "seekia/internal/myDatastores/myList"
|
|
|
|
import "seekia/internal/appUsers"
|
|
|
|
import "seekia/internal/helpers"
|
|
|
|
import "seekia/internal/localFilesystem"
|
|
|
|
|
|
|
|
import "testing"
|
|
|
|
import "slices"
|
|
|
|
|
|
|
|
//TODO: Add concurrency tests
|
|
|
|
|
|
|
|
func TestMyList(t *testing.T){
|
|
|
|
|
|
|
|
err := localFilesystem.InitializeAppDatastores()
|
|
|
|
if (err != nil){
|
|
|
|
t.Fatalf("Failed to initialize app datastores: " + err.Error())
|
|
|
|
}
|
2024-06-07 03:33:10 +02:00
|
|
|
err = appUsers.InitializeAppUserForTests(false, false)
|
2024-04-11 15:51:56 +02:00
|
|
|
if (err != nil){
|
|
|
|
t.Fatalf("Failed to initalize app user for tests: " + err.Error())
|
|
|
|
}
|
|
|
|
|
|
|
|
newList := make([]string, 0, 100)
|
|
|
|
|
|
|
|
for i:=1; i < 100; i++{
|
|
|
|
|
|
|
|
newItem := helpers.ConvertIntToString(i)
|
|
|
|
|
|
|
|
newList = append(newList, newItem)
|
|
|
|
}
|
|
|
|
|
|
|
|
newListObject, err := myList.CreateNewList("TestList")
|
|
|
|
if (err != nil){
|
|
|
|
t.Fatalf("Failed to create new myList object: " + err.Error())
|
|
|
|
}
|
|
|
|
|
|
|
|
for _, item := range newList{
|
|
|
|
|
|
|
|
err := newListObject.AddListItem(item)
|
|
|
|
if (err != nil){
|
|
|
|
t.Fatalf("Failed to add list item: " + err.Error())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
retrievedList, err := newListObject.GetList()
|
|
|
|
if (err != nil){
|
|
|
|
t.Fatalf("Failed to get list: " + err.Error())
|
|
|
|
}
|
|
|
|
|
|
|
|
areIdentical := slices.Equal(newList, retrievedList)
|
|
|
|
if (areIdentical == false){
|
|
|
|
t.Fatalf("Stored list does not match retrieved list.")
|
|
|
|
}
|
|
|
|
|
|
|
|
err = newListObject.DeleteListItem("1")
|
|
|
|
if (err != nil){
|
|
|
|
t.Fatalf("Failed to delete list item: " + err.Error())
|
|
|
|
}
|
|
|
|
|
|
|
|
retrievedList, err = newListObject.GetList()
|
|
|
|
if (err != nil){
|
|
|
|
t.Fatalf("Failed to get list: " + err.Error())
|
|
|
|
}
|
|
|
|
|
|
|
|
for index, element := range retrievedList{
|
|
|
|
|
|
|
|
expectedValue := newList[index+1]
|
|
|
|
|
|
|
|
if (element != expectedValue){
|
|
|
|
t.Fatalf("Retrieved list does not match after deleting item.")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
err = newListObject.DeleteList()
|
|
|
|
if (err != nil){
|
|
|
|
t.Fatalf("Failed to delete list: " + err.Error())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|